全栈开发知识库

7.Linux环境go部署安装

使用阿里云服务器

通过mac上的shell命令连接远程服务器

ssh 用户名@云主机ip
// 如阿里云的是
ssh root@120.xx.xx.xx

然后输入连接密码和实例密码即可。

想要退出ssh的连接可以执行exit命令。

  • 安装go

去官网选择下载的版本,获取下载地址:
Golang Downloads

wget https://dl.google.com/go/go1.11.2.linux-amd64.tar.gz

下载完成后

tar zxvf go1.11.2.linux-amd64.tar.gz
mv go /usr/local/
cd /usr/local/go/
vim /root/.bashrc

然后添加一下内容:

###########
#go
export GOROOT=/usr/local/go
export GOPATH=/data/server/go
export PATH=$PATH:$GOROOT/bin
###########

重启虚拟机或者执行source /root/.bashrc 然后执行:

go env

即可查看配置

上面我们将GOPATH设置成了/data/server/go,这里我们先创建该目录,然后在go目录里面分别创建pkg、src、bin目录,以后就需要将我们要部署的go应用的源代码拷贝到src目录中。

本地dos执行:

scp -r main.go 用户名@云主机地址:/data/server/go/src
// 如阿里云的为
scp -r main.go root@1xx.xx.xx.xxx:/data/server/go/src

然后登陆到远程服务器,首先去下载程序所有的依赖包:

go get "github.com/astaxie/beego"

然后安装程序

cd data/server/go/src/
go build main.go 
// 然后会生成本地可执行的二进制文件main,执行./main可运行,执行下面的命令可以后台运行
nohup ./main &

这个时候会发现还访问不了,这是因为默认情况下阿里云值允许内网访问,我们要修改安全组规则,将其设置为全局可以访问。

然后重启即可。

当然这样只是简单的开启了服务器,如果要保证进程的存活性,可以用上一篇文章说的日志和部署中的Supervisord


  • 邮箱 :charon.chui@gmail.com
  • Good Luck!