在CentOS环境下部署Go语言应用通常包括以下几个步骤:
首先,需要在服务器上安装Go环境。可以从Go官方网站下载适合自己系统版本的Go并进行安装。例如,下载Go 1.18版本:
wget https://golang.google.cn/dl/go1.18.linux-amd64.tar.gz
tar -C /usr/local -xzf go1.18.linux-amd64.tar.gz
安装完成后,需要配置系统环境变量,以便在全局使用Go。可以新增 /etc/profile.d/go.sh
文件,将以下内容写入:
export GOROOT=/usr/local/go
export GOPATH=$HOME/go
export PATH=$PATH:$GOROOT/bin:$GOPATH/bin
然后执行以下命令使更改生效:
source /etc/profile.d/go.sh
验证安装是否成功,可以输入:
go version
如果输出了Go的版本信息,说明安装成功。
使用 go build
命令对应用程序进行编译。例如,编译一个名为 main.go
的程序:
go build main.go
为了系统服务的管理,可以使用systemd将Go程序注册为一个服务,然后实现开机自启动。
在 /etc/systemd/system/
目录下,新建一个名为 myapp.service
的服务文件,填入以下内容:
[Unit]
Description=My Go Application
After=syslog.target
[Service]
Type=simple
User=root
WorkingDirectory=/root/myapp
ExecStart=/root/myapp/myapp
Restart=always
RestartSec=5s
[Install]
WantedBy=multi-user.target
执行以下命令加载服务文件并启动服务:
systemctl daemon-reload
systemctl start myapp.service
systemctl status myapp.service
使用 enable
命令设置开机自启动:
systemctl enable myapp.service
使用 nohup
命令在后台运行应用,并将输出重定向到日志文件:
nohup ./myapp > nohup.log 2>&1 &
可以使用 netstat
命令查找指定端口的进程:
netstat -tunlp | grep 9001
在生产环境中,建议使用更温和的方式来重启服务,而不是使用 kill -9
。
以上步骤涵盖了在CentOS环境下从安装Go环境到部署应用的完整流程。通过这些步骤,你可以确保Go项目在CentOS服务器上稳定运行,并能够优雅地处理进程和配置更新。
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
推荐阅读:CentOS环境下Go语言如何调试