麒麟V10升级nginx最新版本到1.31.4

1.操作系统信息:

2.升级步骤

2.1 备份文件

复制代码
# 备份nginx二进制程序(真实路径)
cp /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.bak.$(date +%Y%m%d)

# 备份配置目录
cp -r /usr/local/nginx/conf /usr/local/nginx/conf.bak.$(date +%Y%m%d)

# 备份业务html站点目录
cp -r /usr/local/nginx/html /usr/local/nginx/html.bak.$(date +%Y%m%d)

# 校验配置
nginx -t

2.2 获取旧版本完整编译参数

复制代码
nginx -V

复制输出中 configure arguments: 后面全部一整串参数,后面编译 1.31.4 必须完整复用,保证安装路径、模块、ssl、stream 等和旧环境完全一致。

2.3 安装编译依赖

复制代码
yum install -y gcc gcc-c++ make pcre pcre-devel zlib zlib-devel openssl openssl-devel

2.4 下载nignx-1.31.4源码并解压

复制代码
cd /usr/local/src
#下载源码包
wget https://nginx.org/download/nginx-1.31.4.tar.gz
tar -zxvf nginx-1.31.4.tar.gz
cd nginx-1.31.4

2.5 configure 配置(粘贴你本机复制的全部旧参数)

不要直接复制下面示例,替换成你 nginx‑V 获取的完整参数

复制代码
./configure 【粘贴 nginx -V 输出的 configure arguments 全部内容】

注意:我这里拿到的参数是以下内容:

./configure --user=www --group=www --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-http_v2_module --with-http_gzip_static_module --with-http_sub_module --with-stream --with-stream_ssl_module --with-stream_ssl_preread_module --with-http_realip_module --with-openssl=/root/lnmp2.0-full/src/openssl-1.1.1t --with-openssl-opt='enable-weak-ssl-ciphers'

但是 --with-openssl=/root/lnmp2.0-full/src/openssl-1.1.1t 这一块儿编译的时候,提示路径不存在,所以第二次编译的时候就把这个参数去掉了。

2.6 编译,只 make,严禁 make install !!!

复制代码
make -j$(nproc)

编译完成后,新的 nginx 二进制程序位置:objs/nginx

2.7 重启

复制代码
#1.查看所有nginx进程
ps aux | grep nginx
#2.强制杀死全部nginx进程
killall -9 nginx
#3.确认pid文件清理
rm -f /usr/local/nginx/logs/nginx.pid
rm -f /usr/local/nginx/logs/nginx.pid.oldbin
#4.现在复制新二进制,不再报文件忙
cp objs/nginx /usr/local/nginx/sbin/nginx
#5.校验配置
nginx -t
#6.启动nginx
/usr/local/nginx/sbin/nginx
#7.验证版本
nginx -v

3.其他命令

3.1 清理当前错误编译产物

复制代码
cd /usr/local/src/nginx-1.31.4
make clean

3.2 回滚命令

复制代码
killall -9 nginx
mv /usr/local/nginx/sbin/nginx.bak /usr/local/nginx/sbin/nginx
chmod +x /usr/local/nginx/sbin/nginx
rm -f /usr/local/nginx/logs/nginx.pid*
/usr/local/nginx/sbin/nginx
相关推荐
天河归来8 小时前
第三方接口不稳定,如何让核心任务继续完成
java·大数据
Knight_AL9 小时前
Java 文件下载时文件名中的 `#` 被转换成 `%23`?一次 URL 编码与解码问题排查
java·开发语言
砚底藏山河10 小时前
python量化自定义周期 K 线合成
java·开发语言·数据库·python·金融
知已难寻10 小时前
03 · OpenStack的计算管理 Nova
运维·服务器·开发语言·云原生·云计算·openstack·开源软件
猿究院_夏燊10 小时前
MySQL 的四种隔离级别
java·数据库·mysql
huainingning11 小时前
Windows syslog日志服务器搭建与模拟器对接
运维·服务器·智能路由器
say_fall11 小时前
【Linux系统编程】Ext 文件系统:磁盘与存储、文件与目录、现代计算机究竟如何寻找文件
linux·运维·服务器·数据库·c++
码流子11 小时前
移动收费怎么做?手持终端+App+收费中心的架构实践
java·开发语言·架构
霸道流氓气质11 小时前
AI 流式对话与实时聊天平台:SSE 解码竞态、有状态会话隔离与背压取消的 Vue3 + Spring AI 生产级实战
java·人工智能·spring
云创智城-yuncitys11 小时前
YunParking 4.0:JDK 17 与 Spring Boot 3.2 的停车云升级
java·开发语言·spring boot