内容简介:linux 上安装golang 项目的方式按照官网的设置GOPATH
直接部署:
linux 上安装golang 项目的方式按照官网的 https://golang.org/doc/install#install (要梯子)的方式,安装 go 运行环境到/usr/local/go/bin 下。
设置GOPATH
发现如果按照官方给的安装方法只指定GOROOT的路径,于是自己新建一个目录gopath 作为GOPATH 的目录,并且设置环境变量(export GOPATH=/newhome/go/gopath)。在gopath下新建3个文件夹(模仿windows GOPATH的方式,也是go语言的工作环境目录) 分别为 src、pkg、bin目录。
go语言的工作空间其实就是一个文件目录,目录中必须包含src、pkg、bin三个目录。
其中src目录用于存放go源代码,pkg目录用于package对象,bin目录用于存放可执行对象。
GOPATH目录指明了你go代码的工作空间的位置,不能与GOROOT目录相同,而且GO代码必须位于工作空间内。
添加go代码库
src的源码代码可以go get github.com/** 的方式获取,也可以从复制别的地方项目到src目录下。于是乎,我就把我windows的下面的src所有文件夹复制到 linux 下面,免去重新下载的时间。
部署自己项目
上传自己的项目到src目录下与github.com,golang.org等其他目录平级
如下图所示:
goonlinemusic就是我的项目 然后进入我项目执行go build main.go 会编译一个linux 可执行程序。
最后执行 ./main 就行了。
如果想让项目在后台执行:执行 nohup ./main & ,这样就可以程序在后台运行了。
基于nginx部署:
在使用nginx 部署时,首先要明白nginx 反向代理的原理。下面简要提一下就是。访问一个链接,例如127.0.0.1:8000
nginx部署在服务器对8000 进行监听。nginx 收到访问请求后把请求交给192.168.0.1:8001进行处理(go程序在对另一台ip为192.168.0.1的机器8001 端口监听)。
突然觉着这是不是很蛋疼,go能直接部署在服务器提供web服务吗?为什么还要搞个nginx 。因为内网代理和负载均衡。
具体去百度或者上知乎搜一下,他们讲的比我好。
进入 nginx的conf的目录,打开nginx.conf
添加下面的文件到nginx.conf 即可,最后重启nginx 服务。
关键的一点:web的资源文件的请求由nginx 来完成,不需要后台服务器进行处理。
server { listen 8000; server_name localhost; charset utf-8; access_log /newhome/go/nginxlog/access.log; #如果是css,js|fonts|png|svg|html|txt 资源文件 nginx 直接处理,不提交到后台让go处理。 # nginx 会在root 对应的目录下 去找这些资源文件 location ~ \.(css|js|fonts|png|svg|html|txt)$ { access_log on; expires 1d; root /newhome/go/gowork/goonlinemusic/static; try_files $uri @backend; } location / { try_files /_not_exists_ @backend; } location @backend { proxy_set_header X-Forwarded-For $remote_addr; proxy_set_header Host $http_host; proxy_pass http://127.0.0.1:8001; } }参考连接 https://beego.me/docs/deploy/nginx.md
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- 【Vue项目总结】项目nginx部署
- CentOS 部署 flask项目
- Docker 部署Python项目
- 【前端打包部署】谈一谈我在SPA项目打包=>部署的处理
- 「实战篇」开源项目docker化运维部署-后端java部署(七)
- jenkins自动化项目部署实战
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Open Data Structures
Pat Morin / AU Press / 2013-6 / USD 29.66
Offered as an introduction to the field of data structures and algorithms, Open Data Structures covers the implementation and analysis of data structures for sequences (lists), queues, priority queues......一起来看看 《Open Data Structures》 这本书的介绍吧!