查看nginx进程
ps -ef | grep nginx
root 10058 1 0 2023 ? 00:00:00 nginx: master process /usr/local/nginx/sbin/nginx
备份nginx所有文件(可选)
cp -r /usr/local/nginx /usr/local/nginx_backup
备份nginx旧版本可执行文件
cd /usr/local/nginx/sbin/
cp /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx_backup20250418
查看旧版本nginx编译配置信息
/usr/local/nginx/sbin/nginx -V
nginx version: nginx/1.25.0
built by gcc 4.8.5 20150623 (Red Hat 4.8.5-44) (GCC)
built with OpenSSL 1.0.2k-fips 26 Jan 2017
TLS SNI support enabled
configure arguments: --prefix=/usr/local/nginx/ --with-http_stub_status_module --with-http_ssl_module
下载、解压
cd /yuanben
wget https://nginx.org/download/nginx-1.27.4.tar.gz
tar -zxvf nginx-1.27.4.tar.gz
cd nginx-1.27.4
配置编译参数
编译路径和原来的保持一致。强制指定 OpenSSL 头文件和库路径 通过 --with-cc-opt 和 --with-ld-opt 直接传递路径
./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-cc-opt="-I/usr/local/ssl/include" --with-ld-opt="-L/usr/local/ssl/lib"
仅编译、仅编译、仅编译(不安装&& make install)
make
停止旧服务
/usr/local/nginx/sbin/nginx -s stop
编译完成后,复制objs目录下可执行文件objs/nginx到/usr/local/nginx/sbin
cp /yuanben/nginx-1.27.4/objs/nginx /usr/local/nginx/sbin/nginx
启动
/usr/local/nginx/sbin/nginx
再次检查进程,检查版本
ps -ef | grep nginx
/usr/local/nginx/sbin/nginx -V
nginx version: nginx/1.27.4
built by gcc 4.8.5 20150623 (Red Hat 4.8.5-44) (GCC)
built with OpenSSL 1.1.1h 22 Sep 2020
TLS SNI support enabled
configure arguments: --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-cc-opt=-I/usr/local/ssl/include --with-ld-opt=-L/usr/local/ssl/lib
注意:如果新版本出现问题,快速回滚
/usr/local/nginx/sbin/nginx -s stop
cp /usr/local/nginx/sbin/nginx_backup20250416 /usr/local/nginx/sbin/nginx
/usr/local/nginx/sbin/nginx
其它
centOS系统默认openssl 1.0.2,将openssl升级到1.1.1安装目录/usr/local/ssl
配置编译参数,强制指定 openssl 头文件和库路径 通过 --with-cc-opt 和 --with-ld-opt 直接传递路径
--with-cc-opt="-I/usr/local/ssl/include" --with-ld-opt="-L/usr/local/ssl/lib"
查看openssl版本
which openssl
/usr/local/ssl/bin/openssl
/usr/local/ssl/bin/openssl version
OpenSSL 1.1.1h