东林博客

Golang写的Web网站从部署到放弃

部署环境: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之后,把项目拉下来

git clone https://git.coding.net/macnie/gblog.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


{{tip}}