本文转载至:Golang写的Web网站从部署到放弃【https://www.macnie.com/post/10089
】
部署环境:Ubuntu 18.04
首先安装Go环境
ubuntu18.04下 通过apt-get install 安装go 默认版本为1.6。现在go的最新版本是1.12。差的太多。怎么用apt安装最新版呢
获取最新的软件包源,并添加至当前的apt库
add-apt-repository ppa:longsleep/golang-backports
提示:
Command 'add-apt-repository' not found, but can be installed with:
apt install software-properties-common
那就安装吧,记得先apt update
apt update
apt install software-properties-common
更新 apt库
apt-get update
安装go
sudo apt-get install golang-go
鉴定是否安装成功
go version
查看apt自动安装的go配置
go env
设置GoProxy代理
因为众所周知的原因,Go的很多包不能下载,1.11版本Go加入了Proxy。国内推荐用:https://goproxy.cn 镜像,实测速度挺快。
设置Go代理
export GOPROXY=https://goproxy.cn
安装Git拉取项目
apt install git
安装git之后,把项目拉下来
然后进入项目目录,获取项目依赖的Go包
go mod download
由于使用了代理,很快就下载完了。
执行
go build
生成Unix下可执行文件 gblog (我的go项目名称,每个人不一样)
想让gblog常驻内存,需要进程守护,推荐使用进程守护管理工具:supervisor。
安装supervisor
apt install supervisor
安装完成,生成gblog项目配置文件
vim /etc/supervisor/conf.d/gblog.conf
[program:gblog]
user=root
command=/home/gblog/gblog
stdout_logfile=/var/log/gblog/app-stdout.log
stderr_logfile=/var/log/gblog/app-stderr.log
autostart=true
autorestart=true
保存退出,开启supervisor服务:
service supervisor start
supervisord -c /etc/supervisor/supervisor.conf
现在gblog应该已经常驻内存执行了。我们看一下执行状态
root@iZ2zediwwur6ea1tzzqwyeZ:~# supervisorctl status
gblog RUNNING pid 1897, uptime 3:13:33
有疑问加站长微信联系(非本文作者)