在CentOS上部署Golang应用通常包括以下几个步骤:
1. 安装Go环境
首先,你需要在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
2. 编写和编译Go应用程序
在部署之前,你需要先编写一个简单的Go程序进行测试。例如,创建一个名为main.go
的文件,并编写以下代码:
package main import "fmt" func main() { fmt.Println("Hello, World!") }
然后使用以下命令编译程序:
go build main.go
该命令会生成一个名为main
的可执行文件。
3. 部署应用程序
你可以选择将应用程序打包成一个二进制文件,或者直接运行编译后的可执行文件。如果需要开机自启动,可以使用systemd来管理你的服务。
使用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
4. 验证部署
重启服务器后,使用以下命令检查服务状态,确认是否已经运行:
sudo systemctl status myapp.service
或者直接访问服务器的IP地址或域名,查看应用程序是否正常运行。
额外建议
- 使用Go Modules进行包管理:推荐使用Go Modules进行包管理,它是Go语言官方推荐的依赖管理工具,可以很方便地管理项目依赖。
- 使用支持Go语言的编辑器:推荐使用支持Go语言的编辑器,如Visual Studio Code(安装Go插件)、GoLand等,以获得更好的开发体验和功能支持。