前言

在 CentOS 9 x64 系统上,可以通过以下步骤来部署 Golang 服务。

1. 安装必要的软件包

安装以下软件包:

  1. Golang:Golang 编程语言
  2. Nginx:Web 服务器
  3. Supervisor:进程管理工具
  4. Git:版本控制工具
  5. EPEL:扩展软件包

可以通过以下命令来安装:

yum -y update
yum install nginx golang epel-release supervisor git -y

2. 生成 SSH 密钥[可选]

为 Git 生成 SSH 密钥,以便于进行代码管理。可以通过以下命令来生成:

cd ~
ssh-keygen -t rsa -C "your_email@example.com"
cat ~/.ssh/id_rsa.pub

将公钥添加到 Git 仓库中。

3. 下载代码

将代码下载到服务器上,可以使用 Git 命令来下载代码:

cd /
mkdir web
cd web
# or `git clone https://...`
git clone git@github.com:your_name/your_repo.git
cd /web/your_repo

4. 运行应用

在应用根目录下运行以下命令来初始化应用:

go run scripts/init/main.go

5. 编译应用

使用以下命令来编译应用:

GOOS=linux GOARCH=amd64 go build -o dist/app-linux-amd64 cmd/app/main.go

6. 配置 Supervisor

/etc/supervisord.d 目录下创建一个新的配置文件 app.ini,并添加以下内容:

[program:app]
directory=/web/your_repo
command=/web/your_repo/dist/app-linux-amd64 -param1="value1" -param2="value2"
autostart=true
autorestart=true
stderr_logfile=/web/your_repo/log/app.err
stdout_logfile=/web/your_repo/log/app.log
environment=ENV_VAR1="value3",ENV_VAR2="value4"

启动 Supervisor 并检查状态:

systemctl start supervisord
systemctl status supervisord
systemctl enable supervisord
ps -ef|grep supervisord

后续更新重启 app

# Start
supervisorctl start app
# Stop
supervisorctl stop app
# Restart
supervisorctl restart app

7. 配置 Nginx

/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 nginx
systemctl status nginx

现在,Golang 应用已经成功部署到 CentOS 服务器上了。

版权声明

本博客所有的原创文章,作者皆保留版权。转载必须包含本声明,保持本文完整,并以超链接形式注明作者后除和本文原始地址:https://blog.mazey.net/3696.html

(完)

CentOS 9 x64 使用 Nginx、Supervisor 部署 Go/Golang 服务的更多相关文章

  1. Linux+Nginx+Supervisor部署ASP.NET Core实操手册

    一.课程介绍 在上一节课程<ASP.NET Core托管和部署Linux实操演练手册>中我们学过net core的部署方式多样性和灵活性.我们通过远程工具输入dotnet 程序集名称.dl ...

  2. CentOS+Nginx+Supervisor部署ASP.NET Core项目

    对.Net Core的学习和实践,已经进行了一年多的世间,截止目前,微软已经发布.Net Core2.1,关于.NetCore的应用部署的文章比比皆是.今天借此,回顾下.net core环境的部署过程 ...

  3. 两篇文章带你走入.NET Core 世界:Kestrel+Nginx+Supervisor 部署上云服务器(二)

    背景: 上一篇:两篇文章带你走入.NET Core 世界:CentOS+Kestrel+Ngnix 虚拟机先走一遍(一) 已经交待了背景,这篇就省下背景了,这是第二篇文章了,看完就木有下篇了. 直接进 ...

  4. ubutu tornado python3.7.5 nginx supervisor 部署web api

    环境: 1.Ubuntu 服务器 2.python3.7.5 安装 1.python3.7.5 安装的话还是比较简单,流程大致是./configure ->make && mak ...

  5. Centos 6.5 下Nginx安装部署https服务器

    一般我们都需要先装pcre, zlib,前者为了重写rewrite,后者为了gzip压缩.1.选定源码目录选定目录 /usr/local/cd /usr/local/2.安装PCRE库cd /usr/ ...

  6. CentOS 下部署Nginx+Gunicorn+Supervisor部署Flask项目

    原本之前有一部分东西是在Windows Server,但是由于Gunicorn不支持Windows部署起来颇为麻烦.最近转战CentOS,折腾一段时间,终于简单部署成功.CentOS新手,作为一个总结 ...

  7. Centos7 部署.Net Core+Nginx+Supervisor

    1.安装.Net Core SDK 1.1. 在安装.NET之前,您需要注册Microsoft密钥,注册产品存储库并安装所需的依赖项.这只需要每台机器完成一次. sudo rpm -Uvh https ...

  8. Django 部署 uwsgi + nginx + supervisor

    Django 部署 uwsgi + nginx + supervisor https://hacpai.com/article/1460607620615?p=1&m=0 zonghua • ...

  9. django+nginx+supervisor+gunicorn+gevent 网站部署

    django+nginx+supervisor+gunicorn+gevent 网站部署 django,nginx,supervisor,gunicorn,gevent这几个都是在本领域大名鼎鼎的软件 ...

  10. flask +gevent+nginx+Gunicorn+supervisor部署flask应用

    上篇   可以完美部署flask ,但是视乎在结合gevent+apscheduler 实现异步非阻塞后台和定时任务的时候视乎不是那么完美.请教了前辈,决定使用flask+gevent+nginx+g ...

随机推荐

  1. Docker进阶之01-Docker Compose编排工具

    Docker Compose是什么 https://github.com/docker/compose 可以按项目为单位管理多个Docker容器,Python语言开发,底层调用Docker的API接口 ...

  2. 案例分享:Qt激光加工焊接设备信息化软件研发(西门子PLC,mysql数据库,用户权限控制,界面设计,参数定制,播放器,二维图,rgv小车,期限控制,参数调试等)

    需求   1.键鼠控制,承担ui界面设计,布局兼容分辨率1024x768 ~ 1920x1080.  2.权限控制:三种权限,分为管理员(可以定制模块界面,修改产品名称等定制化软件和其他权限,同时具备 ...

  3. django1.11和django2.2中namespace的用法

    django1.11中namespace用法 urlpatterns = [ url(r'^user/', include('user.urls', namespace='user')) ] djan ...

  4. ASP.NET 通过拦截器记录错误日志

    前言 主要是记录一下实现的错误日志拦截,可以在拦截器里面控制返回的信息,把错误信息处理后返回给请求端. 代码实战 拦截器 /// <summary> /// 接口异常捕捉过滤器 /// & ...

  5. 吐血分享一套iOS底层面试题,真心想帮你!!!

    一 选择题(单选/多选) 1. 在LP64下,一个指针的有多少个字节 A: 4 B: 8 C: 16 D: 64 答案B解析: 1个指针8字节 2. 一个实例对象的内存结构存在哪些元素 A:成员变量 ...

  6. 详细的BoltDB学习记录文档

    最近项目中用到了boltdb这个go开发的key/value 数据库,但是之前并有接触过,所以特意去看了官方,也找了些资料,网上找的资料要不就是官方文档的翻译,要不就是简单的介绍一点,都不是很全,所以 ...

  7. 【Azure 应用服务】更便捷的方式抓取Azure App Service for Windows的网络包

    问题描述 在之前的一篇博文中,介绍了在App Service中抓取网络日志: 抓取Windows的网络包:[应用服务 App Service]App Service中抓取网络日志 抓取Linux的网络 ...

  8. Jmeter+Influxdb+Grafana搭建

    背景 在无界面压测情况下,我们需要去额外搭建可视化观测平台.借助于Influxdb+Grafana,我们可以轻松让Jmeter的结果自动写入Influxdb,Influxdb实时存储运行结果,最后由G ...

  9. Lazada电商api接口 获取商品详情 数据采集

    iDataRiver平台 https://www.idatariver.com/zh-cn/ 提供开箱即用的Lazada电商数据采集API,供用户按需调用. 接口使用详情请参考Lazada接口文档 接 ...

  10. baidu 突然打不开了 20210621

    换了个dns 123.125.81.6 114.114.114.114