在 CentOS 9 x64 系统上,可以通过以下步骤来部署 Golang 服务。
安装以下软件包:
【资料图】
可以通过以下命令来安装:
yum -y updateyum install nginx golang epel-release supervisor git -y
为 Git 生成 SSH 密钥,以便于进行代码管理。可以通过以下命令来生成:
cd ~ssh-keygen -t rsa -C "your_email@example.com"cat ~/.ssh/id_rsa.pub
将公钥添加到 Git 仓库中。
将代码下载到服务器上,可以使用 Git 命令来下载代码:
cd /mkdir webcd web# or `git clone https://...`git clone git@github.com:your_name/your_repo.gitcd /web/your_repo
在应用根目录下运行以下命令来初始化应用:
go run scripts/init/main.go
使用以下命令来编译应用:
GOOS=linux GOARCH=amd64 go build -o dist/app-linux-amd64 cmd/app/main.go
在 /etc/supervisord.d
目录下创建一个新的配置文件 app.ini
,并添加以下内容:
[program:app]directory=/web/your_repocommand=/web/your_repo/dist/app-linux-amd64 -param1="value1" -param2="value2"autostart=trueautorestart=truestderr_logfile=/web/your_repo/log/app.errstdout_logfile=/web/your_repo/log/app.logenvironment=ENV_VAR1="value3",ENV_VAR2="value4"
启动 Supervisor 并检查状态:
systemctl start supervisordsystemctl status supervisordsystemctl enable supervisordps -ef|grep supervisord
后续更新重启 app
:
# Startsupervisorctl start app# Stopsupervisorctl stop app# Restartsupervisorctl restart app
在 /etc/nginx
目录下打开 nginx.conf
文件,并修改以下内容:
listen 80;# listen [::]:80;include /etc/nginx/conf.d/*.conf;# 指向 Golang 的 Nginx Server 配置include /your_path/your_app.conf;
然后重新启动 Nginx 并检查状态:
systemctl restart nginxsystemctl status nginx
现在,Golang 应用已经成功部署到 CentOS 服务器上了。
版权声明
本博客所有的原创文章,作者皆保留版权。转载必须包含本声明,保持本文完整,并以超链接形式注明作者后除和本文原始地址:https://blog.mazey.net/3696.html
(完)