在CentOS上部署Golang Web应用可以分为以下几个步骤:
首先,确保你的CentOS系统已经安装了Golang。如果没有,请按照以下命令安装:
# 下载Golang安装包
wget https://golang.org/dl/go1.16.5.linux-amd64.tar.gz
# 解压到/usr/local目录
sudo tar -C /usr/local -xzf go1.16.5.linux-amd64.tar.gz
# 配置环境变量
echo "export PATH=$PATH:/usr/local/go/bin" >> ~/.bashrc
source ~/.bashrc
# 验证安装
go version
在你的开发环境中,使用go build
命令编译你的Web应用。例如,如果你的应用入口文件是main.go
,则运行以下命令:
go build -o myapp main.go
这将生成一个名为myapp
的可执行文件。
使用SCP或其他文件传输工具将编译好的应用上传到CentOS服务器。例如:
scp myapp user@your_server_ip:/path/to/your/webapp
登录到CentOS服务器,然后进入应用所在的目录。运行以下命令启动应用:
cd /path/to/your/webapp
./myapp
此时,你的Golang Web应用应该在CentOS服务器上运行了。
为了让你的应用在后台运行并在服务器重启时自动启动,你可以创建一个systemd服务。首先,创建一个名为myapp.service
的文件:
sudo nano /etc/systemd/system/myapp.service
然后,将以下内容粘贴到文件中(根据实际情况修改User、Group、ExecStart等参数):
[Unit]
Description=My Golang Web Application
After=syslog.target network.target
[Service]
User=myuser
Group=mygroup
ExecStart=/path/to/your/webapp/myapp
Restart=always
[Install]
WantedBy=multi-user.target
保存并退出文件。接下来,运行以下命令启动并启用服务:
sudo systemctl daemon-reload
sudo systemctl start myapp
sudo systemctl enable myapp
现在,你的Golang Web应用应该已经在CentOS服务器上运行,并在服务器重启时自动启动。
注意:以上步骤假设你的Golang Web应用监听的是80或443端口。如果你的应用监听其他端口,请确保已正确配置防火墙规则以允许流量通过。