在CentOS系统上部署Golang项目通常涉及以下几个步骤:
1. 安装Go环境
首先,需要在CentOS系统上安装Go语言环境。可以通过以下命令来安装Go:
sudo yum install golang
或者,你可以从Go官方网站下载适合CentOS版本的安装包进行安装:
wget https://golang.google.cn/dl/go1.16.5.linux-amd64.tar.gz tar -C /usr/local -zxvf go1.16.5.linux-amd64.tar.gz
安装完成后,配置环境变量:
echo 'export PATH=$PATH:/usr/local/go/bin' >> ~/.bashrc source ~/.bashrc go version
2. 编译Go项目
在项目目录下使用go build
命令编译你的Go应用程序,生成一个可执行文件。例如,如果你的项目入口文件是main.go
,则命令如下:
go build -o myapp main.go
3. 配置systemd服务(可选)
为了确保你的Go应用程序在服务器重启后自动启动,可以使用systemd来管理你的服务。首先,创建一个systemd服务文件,例如/etc/systemd/system/myapp.service
:
[Unit] Description=My Go Application After=network.target [Service] User=your_user WorkingDirectory=/path/to/your/app ExecStart=/path/to/your/app/myapp Restart=always Environment=APP_ENV=production [Install] WantedBy=multi-user.target
然后,重新加载systemd配置并启动服务:
sudo systemctl daemon-reload sudo systemctl start myapp.service sudo systemctl enable myapp.service
4. 配置Nginx反向代理(可选)
如果你希望使用Nginx作为反向代理来处理HTTP请求,可以配置Nginx来转发请求到你的Go应用程序。首先,安装Nginx:
sudo yum install nginx
然后,编辑Nginx配置文件(通常位于/etc/nginx/nginx.conf
或/etc/nginx/conf.d/default.conf
),添加以下内容:
server { listen 80; server_name your_domain_or_ip; location / { proxy_pass http://localhost:8080; # 假设你的Go应用运行在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 systemctl restart nginx
5. 使用PM2进行进程管理(可选)
为了更方便地管理你的Go应用程序,可以使用PM2进程管理器。首先,安装PM2:
sudo npm install -g pm2
然后,使用PM2启动你的应用程序:
pm2 start myapp.js
PM2可以帮助你管理、监控和自动重启你的应用程序。
以上步骤是在CentOS系统上部署Golang项目的基本流程。根据你的具体需求,可能还需要进行其他配置,例如数据库连接、环境变量设置等。