# Nginx部署维护参考手册
# 前言
本手册提供适用于致远协同V5产品线的Nginx安装部署维护方案,如V5项目需要Nginx提供负载均衡、反向代理、SSL等能力,可参考本手册操作。
由于致远协同V5产品线集群环境依赖nginx-sticky-module模块的会话粘滞能力,故本手册部署方案会包含nginx-sticky,无论协同单机还是集群都适用。
Nginx官方地址 https://nginx.org/en/download.html
免责声明:
- 本手册配套分发的 Nginx 为开源免费版本,遵循 BSD 开源许可协议分发,本平台仅免费提供文档与配套部署方案,本平台不收取任何费用,亦不代表开源软件无商用合规义务,商用场景请使用者自行遵守对应开源授权条款;
- 本平台不提供任何有偿、无偿的现场部署、线上调试、故障排查、长期售后等技术支持服务,所有方案仅供个人学习、项目环境参考;
- 手册文字、自研部署脚本、配套实施方案著作权归本平台作者所有;Nginx 程序本体相关知识产权、版权归原软件官方所有;
- 请使用者务必在隔离测试环境完整验证稳定性、安全性后,再酌情应用至生产环境;因直接上线产生的业务中断、数据丢失、安全漏洞、商业损失、知识产权侵权纠纷等全部风险与赔偿责任,均由使用者自行独立承担,与本平台无关。
# 部署方案
Nginx不同版本、不同操作系统的部署方案不同,本手册提供三个场景的部署方案供项目自行选择:
| 方案 | 适用系统 | 适用版本 | 部署方案 | 推荐指数 |
|---|---|---|---|---|
| 方案一 | Linux、信创操作系统 | Nginx1.30及更高Stable版 | 预编译包部署 | ★★★★★ |
| 方案二 | Windows Server | Nginx1.30及更高Stable版 | 下载官方包部署 | ★★ |
| 方案三 | Linux、信创操作系统 | Nginx1.28及更低Stable版 | 手动编译部署 | ★★★ |
注:
- 推荐使用Nginx最新Stable版本,以减少BUG和安全问题
- 推荐使用Linux/信创环境部署Nginx,Linux 下 Nginx 性能、并发、稳定性、扩展模块自由度、运维与安全全面优于Windows 版 Nginx(功能阉割、IO 模型落后、稳定性一般)。
- Nginx1.28及以下版本仅推荐Linux,因为1.28及以下版本官方不包含nginx-sticky模块,必须由部署人员在客户Linux或信创系统下手工将nginx-sticky模块加入并编译。
- 自Nginx1.30版本开始,Nginx官方自带nginx-sticky模块,故Linux/信创和Windows系统均可使用sticky实现负载均衡。
- Nginx官方规定 偶数号(如1.28、1.30)为稳定生产版(Stable) , 而 奇数号(如1.29)为开发版(Mainline)不适合生产环境使用,故本手册未推荐1.29、1.31版本。

# 方案一Linux/信创部署Nginx1.30+版本
Linux / 信创环境部署 Nginx1.30 + 版本推荐使用预编译安装包,直接在客户环境运行使用。预编译包在 Nginx 官方原版基础上增加了 SSL 增强、gzip 压缩等高价值插件,让 Nginx 无需现场源码编译即可拥有完整企业负载均衡能力,兼容全系列信创硬件与操作系统,兼顾安全性、并发性能与运维便捷性。
# 1、预编译包下载
Nginx预编译包下载地址 https://pan.baidu.com/s/1uY5lQ0miwaFJSJjE76_AzA?pwd=f2dg
云盘提供了针对不同环境不同场景的预编译包,根据客户现场实际需求选择合适的安装包:
- 安装包统一采用
multi-install-nginx-版本-加密库-架构.tgz格式 - 版本:优先下载
免编译二进制版全量包/musl下最新Nginx版本(如本手册编时间2026-7-11最新Nginx稳定版本1.30.3) - 加密库:如无特殊要求默认使用
openssl包(主流通用、兼容性最强);如客户需要国密认证并兼容国际 TLS 标准则使用tongsuo;如服务器内存资源有限、部署轻量边缘网关,追求更低内存占用与更少历史安全漏洞,则选用libressl。 - 架构:Intel/AMD x86 通用服务器选择
amd64;鲲鹏、飞腾等 ARM 架构信创主机选择arm64;龙芯 LoongArch 国产处理器信创设备选择loong64。

# 2、预编译包环境要求
- 需要
root权限。 - 需要
systemd支持(用于管理 nginx.service)。 - 本机 SSH 服务必须可达(安装包内部通过 SSH 推送部署到本机)。
- 需要确认当前机器架构与安装包匹配。
# 3、预编译NG单机部署步骤
1、上传并解压安装包
将安装包上传到服务器,建议放到 /tmp 或 /data 目录。
# 将安装包上传到服务器,建议放到 `/tmp` 或 `/data` 目录
mkdir -p /data
mv multi-install-nginx-1.30.3-openssl-amd64.tgz /data
cd /data
# 解压到同名目录(按实际文件名替换)
tar -xf multi-install-nginx-1.30.3-openssl-amd64.tgz --one-top-level
# 进入解压目录
cd multi-install-nginx-1.30.3-openssl-amd64/
# 查看目录结构
ls -la
解压后的典型目录结构如下(部署配置只需要关注multi-install-nginx.sh和cfg/native/nginx.hosts两个文件):
multi-install-nginx-1.30.3-openssl-amd64/
├── multi-install-nginx.sh # 安装包内置部署脚本(核心文件)
├── bin/ # 辅助工具(gossh、jq 等)
├── cfg/
│ └── native/
│ └── nginx.hosts # SSH 连接配置(需编辑)
├── software/ # Nginx 静态二进制
├── doc/ # 文档
└── logs/ # 运行日志
3、配置安装启用V5 Nginx模板
预编译安装包自带了自动配置V5 Nginx标准模板的功能,按如下方式设置:
V5产品线有统一的Nginx配置要求,参考文档《Nginx反向代理和负载均衡协同HTTP (opens new window)》
cd multi-install-nginx-1.30.3-openssl-amd64/
# 配置方式二选一:将createV5cfg设置为1,即安装时自动内置V5 Nginx模板
sed -i 's/^createV5cfg=""/createV5cfg="1"/' multi-install-nginx.sh
# 配置方式二选一:也可以通过vi命令直接找到 createV5cfg="" 将其修改为 createV5cfg="1"
vi multi-install-nginx.sh

3、配置 SSH 连接信息
multi-install-nginx预编译安装包的运行原理是安装包服务器 → SSH连接到Nginx服务器远程安装。如果您将安装包已经放置在Nginx服务器,也需要将当前服务器的SSH信息进行配置才能安装。
# 编辑安装包目录下的 `cfg/native/nginx.hosts` 进行ssh配置
vi cfg/native/nginx.hosts
# 修改v8-nginx那一行配置,将其改成Nginx服务器真实IP和SSH连接信息,修改后进行保存
v8-nginx host=192.168.58.132 port=22 user=root password=Seeyon123.

4、执行安装
在解压目录中执行安装包内置部署脚本:
cd multi-install-nginx-1.30.3-openssl-amd64/
bash multi-install-nginx.sh i nginx
看到如下信息表示安装完成:

预编译Nginx默认安装目录和包管理模式如下:
- 程序目录:
/apps/nginx(默认,由安装包内instRootDir决定) - 配置文件:
/apps/nginx/conf目录 - 服务管理:
systemctl管理 nginx.service
验证安装结果:
# 查看部署摘要和常用命令(如存在)
cat doc/apps-deployment-summary.txt
# 验证版本
/apps/nginx/sbin/nginx -V
# 输出示例:nginx version: nginx/1.30.3
# 验证服务状态
systemctl status nginx
5、检查Nginx配置完整性
如按本手册操作,预编译安装包会自动生成V5的Nginx配置,只需要基于配置调整成客户真实的代理地址即可,相关配置如下:
cd /apps/nginx/conf
ls
# 主配置文件
vi nginx.conf
预编译包默认内置了主OA、移动端、数科、文档通的配置,按需开启:

# 4、预编译NG日常运维
# 1. 预编译NG启停服务
systemctl start nginx
systemctl stop nginx
systemctl restart nginx
# 2. 预编译NG重载配置(不中断连接)
/apps/nginx/sbin/nginx -s reload
# 3. 预编译NG查看状态
systemctl status nginx
# 4. 预编译NG查看版本
/apps/nginx/sbin/nginx -V
# 5. 预编译NG查看错误日志
tail -f /apps/nginx/logs/error.log
# 6. 预编译NG检查进程
ps aux | grep nginx | grep -v grep
# 7. 预编译NG检查端口
这个与nginx/conf/nginx.conf的配置有关,配置监听了哪些端口就根据实际端口检查,以下是检查80端口示例
ss -tlnp | grep :80
# 预期包含:LISTEN 0 511 0.0.0.0:80 ... nginx
# 8. 预编译NG检查 HTTP 访问
这个与nginx/conf/nginx.conf的配置有关,以下是以默认80端口为例
# 本地测试
curl -I http://127.0.0.1
# 预期输出包含:HTTP/1.1 302 或 HTTP/1.1 200
# 外部访问(替换为服务器 IP)
curl -I http://<服务器IP>
如果后端 OA 已启动,浏览器访问 http://<服务器IP> 应跳转到 OA 登录页面。
# 9. 预编译NG修改conf
# 如按本手册操作,V5产品线的主配置存放于nginx.conf中,可根据实际情况调整配置
vi /apps/nginx/conf/nginx.conf
# 校验配置文件语法
/apps/nginx/sbin/nginx -t
# 正常输出:
# nginx: the configuration file /apps/nginx/conf/nginx.conf syntax is ok
# nginx: configuration file /apps/nginx/conf/nginx.conf test is successful
# 重启 Nginx使配置生效
systemctl restart nginx
# 验证服务状态
systemctl status nginx
# 5、预编译NG卸载步骤
预编译NG安装包sh文件提供了详细的卸载命令,执行如下命令可以查看卸载操作:
cd multi-install-nginx-1.30.3-openssl-amd64/
# 执行命令后,控制台会输入详细的卸载命令,需要参考卸载命令逐条手工执行即可完成
bash multi-install-nginx.sh r nginx

# 6、预编译NG升级版本步骤
如早期已经安装预编译NG旧版本,本次(出于安全或其它原因)需要对NG版本进行升级,通用升级方法为:备份nginx配置→卸载旧版→安装新版→还原nginx配置。
参考步骤如下:
1、备份nginx/conf文件:提前备份 /apps/nginx/conf 整个配置文件夹,避免升级后配置丢失
2、参考 [预编译NG卸载步骤] 章节,完整卸载老版本预编译NG
3、参考 [预编译包下载] 章节下载最新版本预编译NG程序
4、参考 [预编译NG单机部署步骤] 章节安装最新版本
5、将第一步旧版nginx/conf备份的文件夹还原并参考 [预编译NG修改conf] 章节重启配置生效
# 7、预编译NG实现Nginx高可用
预编译NG不仅支持单机Nginx部署,还提供了行业通用的vip+keepalived+nginx主备高可用部署脚本,由于此方案相对复杂,由技术能力的个人可参考multi-install-nginx.sh部署脚本的配置说明,结合AI进行高可用部署。
# 方案二Windows部署Nginx1.30+版本
自Nginx1.30版本开始,Nginx官方自带nginx-sticky模块,理论Windows Server环境下的Nginx也支持V5集群,如项目环境有限,要求不高,可以参考本手册部署。
建议:推荐使用Linux/信创环境部署Nginx,Linux 下 Nginx 性能、并发、稳定性、扩展模块自由度、运维与安全全面优于Windows 版 Nginx(功能阉割、IO 模型落后、稳定性一般)。如在Windows下出现NG相关限制,建议切换到Linux系统!
# 1、Win-Nginx安装包下载
通过Nginx官方地址 https://nginx.org/en/download.html 下载最新的Stable Windows安装包:

# 2、Win-Nginx单机安装部署步骤
1)解压zip安装包:
官方下载的Nginx默认为zip包,将其解压到不含中文路径的目录下,正常展示效果如下:

2)完整替代nginx.conf模板为V5产品线标准配置
安装包conf下生成的默认配置是通用配置,需要替换为V5产品线需要的 nginx.conf 模板。
将windows下conf/nginx.conf里面的内容完全删除,然后完全参考在线文档拷贝使用《Nginx反向代理和负载均衡协同HTTP (opens new window)》配置:

3)启动Windows Nginx
直接运行根目录的nginx.exe启动 或 通过命令 start nginx 启动。
# 3、Win-Nginx日常运维
1)Windows下Nginx启停: 可以通过运行nginx.exe+可视化杀掉nginx.exe来操作。 或者通过命令(在Nginx程序目录下运行)start nginx 和 .\nginx -s quit 实现。
2)Windows下修改conf配置: 跟Linux相似:修改Nginx程序目录下conf的配置(如nginx.conf),修改后需要重启Nginx使配置生效。
3)Windows下升级Nginx版本: 跟Linux相似:备份conf配置 → 停止Nginx并卸载Nginx程序 → 下载安装最新Nginx → 还原备份的conf并启动
# 方案三Linux/信创手工编译Nginx1.28低版本
Nginx1.28是NG的旧版本,该版本NG未内置nginx-sticky模块,故需要源码编译部署。
建议新项目均使用最新Nginx版本部署,仅Nginx老客户有编码编译需求才使用本手册,详细手工编译方法见《Nginx1.28旧版本源码编译部署方法 (opens new window)》
快速跳转