在CentOS上部署Golang Web应用可以分为几个步骤。以下是一个基本的指南:
首先,你需要在CentOS上安装Golang。你可以从Golang官方网站下载并安装。
sudo yum install -y golang
下载Golang安装包:
wget https://golang.org/dl/go1.17.6.linux-amd64.tar.gz
解压安装包:
sudo tar -C /usr/local -xzf go1.17.6.linux-amd64.tar.gz
配置环境变量:
编辑/etc/profile
或~/.bashrc
文件,添加以下内容:
export PATH=$PATH:/usr/local/go/bin
然后使配置生效:
source /etc/profile # 或 source ~/.bashrc
验证安装:
go version
在你的项目目录中,使用以下命令编译你的Web应用:
go build -o myapp
这将会生成一个名为myapp
的可执行文件。
你可以将编译好的可执行文件部署到CentOS服务器上。以下是几种常见的部署方式:
创建一个新的systemd服务文件:
sudo nano /etc/systemd/system/myapp.service
添加以下内容:
[Unit]
Description=My Golang Web Application
After=network.target
[Service]
User=<your_user>
Group=<your_group>
ExecStart=/path/to/your/myapp
Restart=always
[Install]
WantedBy=multi-user.target
保存并退出编辑器,然后启动并启用服务:
sudo systemctl daemon-reload
sudo systemctl start myapp
sudo systemctl enable myapp
安装Nginx:
sudo yum install -y nginx
启动并启用Nginx服务:
sudo systemctl start nginx
sudo systemctl enable nginx
配置Nginx反向代理: 编辑Nginx配置文件:
sudo nano /etc/nginx/conf.d/myapp.conf
添加以下内容:
server {
listen 80;
server_name your_domain.com;
location / {
proxy_pass http://localhost:8080; # 假设你的应用运行在8080端口
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
保存并退出编辑器,然后重新加载Nginx配置:
sudo nginx -s reload
确保你的应用有适当的日志记录,并定期检查日志文件以监控应用的运行状态。你可以使用journalctl
命令查看systemd服务的日志:
sudo journalctl -u myapp -f
通过以上步骤,你应该能够在CentOS上成功部署你的Golang Web应用。