准备环境:(仅针对没有安装过nginx的系统)
检查并安装所需的依赖软件
1).gcc:nginx编译依赖gcc环境
安装命令:yum -y install gcc-c++
2).pcre:(Perl Compatible Regular Expressions)是一个Perl库,包括 perl 兼容的正则表达式库。nginx的http模块使用pcre来解析正则表达式.
安装命令:yum install -y pcre pcre-devel
(如果提示Error: Multilib version problems found,则在命令后加上 --setopt=protected_multilib=false)
3).zlib:该库提供了很多种压缩和解压缩的方式,nginx使用zlib对http包的内容进行gzip。
安装命令:yum install -y zlib zlib-devel
(如果提示Error: Multilib version problems found,则在命令后加上 --setopt=protected_multilib=false)
4).openssl:一个强大的安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及SSL协议,并提供丰富的应用程序供测试或其它目的使用。nginx不仅支持http协议,还支持https(即在ssl协议上传输http).
安装命令:yum install -y openssl openssl-devel
准备环境到此结束。1、下载1.12.2版本的nginx,直接在官网下载即可。
wget http://nginx.org/download/nginx-1.12.2.tar.gz
2、解压
tar zxvf nginx-1.12.2.tar.gz
3、我的旧版本安装了nginx_upstream_check_module(健康检查插件),升级到新版本的nginx时需要在新版本的nginx里打补丁。
如果你没有安装过nginx_upstream_check_module,可以直接在这里下载https://codeload.github.com/yaoweibin/nginx_upstream_check_module/zip/master,并解压unzip nginx_upstream_check_module-master
4、cd nginx-1.12.2
5、这就是第三步提到的打补丁
patch -p0 < 健康检查所在路径/nginx_upstream_check_module-master/check_1.11.5+.patch
如果系统不识别patch命令,请先执行yum -y install patch
6、检测新版本nginx的配置环境
./configure --user=www --group=www --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-http_realip_module --add-module=健康检查所在路径/nginx_upstream_check_module-master/
(
注意这里可能需要创建www用户组和用户,执行
/usr/sbin/groupadd -f www
/usr/sbin/useradd -g www www
7、编译新版本nginx
make(注意千万不要接下来执行make install,因为是升级,不是安装)
8、备份旧版本的nginx命令
cp -a /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.bak
9、停止nginx服务
/usr/local/nginx/sbin/nginx -s stop
10、将新版本的nginx命令复制过来
cd 新版本路径/nginx-1.12.1/objs
cp -a nginx /usr/local/nginx/sbin/nginx
至此,升级完毕!重新启动nginx看看吧,已经是新版本了!
./nginx -V查看新版本