Nginx 信创版本源码升级 1.22.1 升级到1.28.0

升级前准备

1. 备份原有配置文件和二进制文件

cp -r /usr/local/nginx /usr/local/nginx.bak
cp /usr/local/nginx/conf/nginx.conf /usr/local/nginx/conf/nginx.conf.bak

2. 查看当前编译参数(用于新版本保持一致)

/usr/local/nginx/sbin/nginx -V

输出:

nginx version: nginx/1.22.1
built by gcc 8.3.0 (GCC)
configure arguments: --prefix=/usr/local/nginx --with-http_ssl_module --with-http_gzip_static_module ...

记录这些参数,后续编译时使用。

安装依赖(信创平台)

信创平台通常基于国产化软硬件,需使用系统自带的包管理器安装依赖。

适用于统信UOS / 银河麒麟(apt 类系统):

sudo apt update
sudo apt install build-essential gcc g++ make zlib1g-dev libpcre3-dev libssl-dev

如果某些依赖包名不同,可以尝试:

apt-cache search libssl-dev
apt-cache search pcre

下载 Nginx 1.28.0 源码

cd /usr/local/src
wget http://nginx.org/download/nginx-1.28.0.tar.gz
tar -zxvf nginx-1.28.0.tar.gz
cd nginx-1.28.0

编译配置(保持原有参数)

使用上一步中记录的 configure arguments,例如:

./configure \
--prefix=/usr/local/nginx \
--with-http_ssl_module \
--with-http_gzip_static_module \
--with-http_stub_status_module \
--with-poll_module \
--with-select_module

注意:如果原版本启用了第三方模块(如 --add-module=…/some_module),也需要在新版本中加上。

编译安装

make
make install

替换可执行文件

编译安装后,/usr/local/nginx/sbin/nginx 是新版本的二进制文件。你可以直接替换或重命名原文件。

# 检查版本
/usr/local/nginx/sbin/nginx -v

输出应为:

nginx version: nginx/1.28.0

检查配置文件语法并重启

/usr/local/nginx/sbin/nginx -t
/usr/local/nginx/sbin/nginx -s reload

升级验证

curl -I 127.0.0.1

检查响应头中是否包含 Server: nginx/1.28.0。

常见问题处理

1. 编译报错:缺少依赖

  • 错误示例:fatal error: pcre.h: No such file or directory
  • 解决方法:安装对应的开发包,如 libpcre3-dev

2. 信创平台兼容性问题

  • 若使用鲲鹏/飞腾等架构,注意是否开启交叉编译或指定 --host 参数。
  • 可尝试添加 --with-cpu-opt=generic 以提高兼容性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

王小工

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值