在CentOS环境下部署Go语言应用通常包括以下几个步骤:
1. 安装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
2. 配置环境变量
安装完成后,需要配置系统环境变量,以便在全局使用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的版本信息,说明安装成功。
3. 编译Go程序
使用 go build 命令对应用程序进行编译。例如,编译一个名为 main.go 的程序:
go build main.go
4. 使用systemd开机自启
为了系统服务的管理,可以使用systemd将Go程序注册为一个服务,然后实现开机自启动。
编写unit文件
在 /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
5. 运行和监控应用
使用 nohup 命令在后台运行应用,并将输出重定向到日志文件:
nohup ./myapp > nohup.log 2>&1 &
可以使用 netstat 命令查找指定端口的进程:
netstat -tunlp | grep 9001
在生产环境中,建议使用更温和的方式来重启服务,而不是使用 kill -9。
总结
以上步骤涵盖了在CentOS环境下从安装Go环境到部署应用的完整流程。通过这些步骤,你可以确保Go项目在CentOS服务器上稳定运行,并能够优雅地处理进程和配置更新。
以上就是关于“CentOS环境下Go语言如何部署应用”的相关介绍,筋斗云是国内较早的云主机应用的服务商,拥有10余年行业经验,提供丰富的云服务器、租用服务器等相关产品服务。云服务器资源弹性伸缩,主机vCPU、内存性能强悍、超高I/O速度、故障秒级恢复;电子化备案,提交快速,专业团队7×24小时服务支持!
简单好用、高性价比云服务器租用链接:https://www.jindouyun.cn/product/cvm