在CentOS上部署Golang应用通常包括以下几个步骤:
首先,你需要在CentOS系统上安装Go。可以从Go官方网站下载适合你系统版本的Go安装包,然后进行安装。
# 下载Go安装包
wget https://golang.google.cn/dl/go1.16.5.linux-amd64.tar.gz
# 解压安装包
tar -C /usr/local -xzf go1.16.5.linux-amd64.tar.gz
# 配置环境变量
echo "export GOROOT=/usr/local/go" >> /etc/profile
echo "export GOPATH=$HOME/go" >> /etc/profile
echo "export PATH=$PATH:$GOROOT/bin:$GOPATH/bin" >> /etc/profile
# 使环境变量生效
source /etc/profile
# 验证安装
go version
在部署之前,你需要先编写一个简单的Go程序进行测试。例如,创建一个名为main.go
的文件,并编写以下代码:
package main
import "fmt"
func main() {
fmt.Println("Hello, World!")
}
然后使用以下命令编译程序:
go build main.go
该命令会生成一个名为main
的可执行文件。
你可以选择将应用程序打包成一个二进制文件,或者直接运行编译后的可执行文件。如果需要开机自启动,可以使用systemd来管理你的服务。
创建systemd服务文件:
在/etc/systemd/system/
目录下,新建一个名为myapp.service
的服务文件,填入以下内容:
[Unit]
Description=My Go Application
After=syslog.target
[Service]
Type=simple
User=root
WorkingDirectory=/root/myapp
ExecStart=/root/myapp/main
Restart=always
[Install]
WantedBy=multi-user.target
请根据你的实际情况修改WorkingDirectory
和ExecStart
。
加载并启动服务:
sudo systemctl daemon-reload
sudo systemctl start myapp.service
sudo systemctl status myapp.service
设置开机自启动:
sudo systemctl enable myapp.service
重启服务器后,使用以下命令检查服务状态,确认是否已经运行:
sudo systemctl status myapp.service
或者直接访问服务器的IP地址或域名,查看应用程序是否正常运行。