搭建环境
centos7.5,nginx-1.12.1
nginx本身安装时,是可以支持一些模块的,但是也有第三方模块,需要下载下来才能安装,这次简单记录一下本身就支持的一些模块stream升级(也是怕自己忘记)
编译安装
升级准备
查看系统中是否安装nginx
- find / -name nginx
查看nginx版本及已安装的模块
- /usr/local/nginx/sbin/nginx -V
可以看到现在只安装了一个rtmp的模块
nginx模块平滑升级
停止nginx服务
- service nginx stop | /usr/local/nginx/sbin/nginx -s stop
进入到nginx目录
- cd /root/nginx-1.12.1
查看一下编译本身就支持的一些模块
- ./configure --help
安装需要的模块(需要包括之前编译安装时候的配置,后面再加上这次需要安装的模块,以stream为例,在上面截图中可以看到,安装的这个版本本身就支持stream模块)
- ./configure --add-module= …/nginx-rtmp-module-1.2.2 --with-stream --with-http_stub_status_module
执行编译(注意执行完编译之后不能执行make install)
- make
备份之的前nginx
- cp /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.bak
拷贝重新编译过的nginx到/usr/local/nginx/sbin/目录下
- cp /root/nginx-1.12.1/objs/nginx /usr/local/nginx/sbin/nginx
执行编译升级
- make upgrade
如果出现make: *** [upgrade] 错误 1这个报错
执行下面的命令
- /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
升级完成之后再次查看nginx版本及已安装的模块
- /usr/local/nginx/sbin/nginx -V
可以看到已经出现了这次安装的模块了
接下来就可以使用stream库了且
- stream {
upstream backend {
server 127.0.0.1:1111;
}
server {
listen 8888;
proxy_connect_timeout 8s;
proxy_timeout 24h;
proxy_pass backend;
}
}
nginx平滑升级
查看当前nginx的版本以及其详细内容
- nginx -V
停止nginx
- /usr/local/nginx/sbin/nginx -s stop
编译升级nginx1.13.10新源码包
下载地址:http://nginx.org/download/nginx-1.13.10.tar.gz
- tar zxf nginx-1.13.10.tar.gz
- cd nginx-1.13.10
- ./configure --add-module= …/nginx-rtmp-module-1.2.2 --with-stream --with-http_stub_status_module
注意:一定要与旧版本的编译参数一致!
执行编译
- make
移动旧版本
- mv /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.old
复制新版本
- cp /root/nginx-1.12.1/objs/nginx /usr/local/nginx/sbin/nginx
执行编译升级
- make upgrade
测试配置文件
- /usr/local/nginx/sbin/nginx –t
如果不通过请适当修改配置文件选项,也许有些内容新版本并不支持
启动新版本
- /usr/local/nginx/sbin/nginx
查看版本
- /usr/local/nginx/sbin/nginx -V