一、背景:
nginx版本更新频繁,停机更新会对业务造成影响。不多说进正题。
二、安装依赖:(需要联网)
# gcc安装,nginx源码编译需要
yum install gcc-c++
# PCRE pcre-devel 安装,nginx 的 http 模块使用 pcre 来解析正则表达式
yum install -y pcre pcre-devel
# zlib安装,nginx 使用zlib对http包的内容进行gzip
yum install -y zlib zlib-devel
# OpenSSL 安装
yum install -y openssl openssl-devel
不安装gcc会报错:*** No rule to make target `build‘, needed by `default‘. Stop.
其他的暂未遇到,遇到的时候会补充。
注意:如果事先没有安装,执行完yum后要使用./configure重新配置,并make编译
三、安装准备:
1、查看正在运行的nginx相关配置:进入nginx的目录下执行:./nginx -V
注意大V和小v的区别。
这里对我们有用的信息是之前nginx安装的配置信息。
2、将nginx升级包上传到服务器,然后执行解压命令tar -zxvf nginx-1.25.2.tar.gz
3.进入到解压之后的目录进行配置使用该程序进行配置
此时路径仍为原nginx的路径。
./configure --user=root --group=root --prefix=/usr/emp/oxysvr/nginx --with-http_stub_status_module --with-http_ssl_module --with-http_sub_module --with-stream --with-stream_ssl_module --with-http_v2_module
check过程中会有显示not found的,如果不需要就不用管。执行完成后会有总体情况的提示。
4.然后进行编译
make
执行完后会生成一个objs的文件夹
5.对老版本nginx进行备份,进入原nginx目录下
mv nginx nginx.old
6.使用cp命令将编译生成的nginx复制过来
7.使用make upgrade进行升级,此命令执行建议在新版本的文件目录中