Nginx升级与添加模块

一、Nginx升级

​ 生产要求,需要对现有Nginx-v1.6.1进行升级,需要保留原有已安装的模块,这里举例升级为Nginx-1.14.0。

  1. 下载新版本Nginx-1.14.0

    http://nginx.org/en/download.html

    Mainline为主线开发版本,不建议生产使用,可使用Stable稳定版。如需下载以前的老版本选择Legacy versions

  2. 编译Nginx(只编译不要安装)

    解压下载的Nginx

    tar -zxvf nginx-1.14.0.tar.gz -C /app/ljy/nginx/ #解压下载的新版本

    cd /app/ljy/nginx/nginx-1.14.0/

    查看旧Nginx的版本及现有的模块

    ./nginx -V

    [mall@bj-ecs-xhm-4f03-b2-hs22-cscs-02 sbin]$ ./nginx -V
    nginx version: nginx/1.6.1
    built by gcc 4.1.2 20080704 (Red Hat 4.1.2-48)
    TLS SNI support disabled
    configure arguments: --prefix=../nginx-new --add-module=./modules/taobao-nginx-http-concat --with-http_stub_status_module --add-module=./modules/ngx_devel_kit-0.2.19 --add-module=./modules/set-misc-nginx-module-0.24 --add-module=./modules/encrypted-session-nginx-module --add-module=./modules/echo-nginx-module --add-module=./modules/lua-nginx-module-0.9.4 --add-module=./modules/memc-nginx-module-0.15 --add-module=./modules/agentzh-srcache-nginx-module-10587a1 --add-module=./modules/ngx_http_redis-0.3.6 --with-http_ssl_module --with-http_gzip_static_module --with-http_sub_module --add-module=./modules/nginx-accesskey-2.0.3 --add-module=./modules/nginx_tcp_proxy_module-0.4.5 --add-module=./modules/naxsi-0.53-2/naxsi_src
    

    开始configure配置编译:

    ​ 先将modules模块库拷贝至/app/ljy/nginx/nginx-1.14.0/下,执行./configure的时候要指定模块所在的位置,然后执行下面的编译配置命令./configure,所需各个模块可自行下载,这里面是已经下载好的,包含了常用的Nginx模块,如下图:
    在这里插入图片描述

./configure --prefix=../nginx-new --add-module=./modules/taobao-nginx-http-concat --with-http_stub_status_module --add-module=./modules/ngx_devel_kit-0.2.19 --add-module=./modules/set-misc-nginx-module-0.24 --add-module=./modules/encrypted-session-nginx-module --add-module=./modules/echo-nginx-module --add-module=./modules/lua-nginx-module-0.10.9 --add-module=./modules/memc-nginx-module-0.18 --add-module=./modules/agentzh-srcache-nginx-module-10587a1 --add-module=./modules/ngx_http_redis-0.3.6 --with-http_ssl_module --with-http_gzip_static_module --with-http_sub_module --add-module=./modules/nginx-accesskey-2.0.4 --add-module=./modules/naxsi-0.53-2/naxsi_src

​ 为了防止目标主机没有Lua库的支持,所以,编译的时候可将Lua支持库编译进去。执行./configure后进入objs目录,编辑Makefile文件,替换-Wl,-E -lpthread -lcrypt /app/ljy/nginx/nginx-1.14.0/modules/LuaJIT-2.0.5/src/libluajit.a -lm -lpcre -lssl -lcrypto -ldl -lz \这一行。在这里插入图片描述

​ 下面开始编译:

make

不要make install!!!以免覆盖原有nginx!!!

  1. 将objs目录下编译好的Nginx二进制文件拷贝至现有Nginx安装目录的sbin下(先备份旧Nginx启动文件),停掉现有Nginx进程,使用新的Nginx启动,查看升级后版本。

    使用下面的命令来停止旧版本的Nginx,由新版本来接替,该命令会处理完老进程的所有请求后关闭所有连接并停止Nginx,查看Nginx日志目录会生成一个nginx.pid.oldbin文件,用来存放旧版本Nginx 的pid。

    kill -USR2 `cat /app/ljy/nginx/ecsmall/logs/nginx.pid`
    

二、为现有Nginx添加模块

​ 为现有的Nginx添加一个新的模块,比如添加Mongodb的GridFS 文件系统支持模块nginx-gridfs。注意:要找一个与现有Nginx版本相同的Nginx来编译。

  1. 先准备要添加的模块,并解压至指定目录。
    在这里插入图片描述

  2. 同上Nginx升级操作的第2步,查看现有Nginx已安装的模块,然后配置编译的时候加入需要添加的模块,重新编译,这里举例加入了--add-module=./modules/nginx-gridfs模块。开始./configure,完成之后参考上面的步骤加入Lua库,然后make进行编译,记得不要make install,否则会覆盖原Nginx的!!!

  3. 编译完成后,到objs目录下,使用新的Nginx二进制文件来替换现有Nginx,替换前记得先备份下原有的Nginx以免出现问题。参考上面第3步,重新启动添加新模块后的Nginx。

备注:

  • Nginx的pid文件在日志logs目录下
  • 低版本的Nginx可以通过打补丁来安装第三方模块nginx_tcp_proxy_module-master以便于支持TCP负载均衡配置(通过打补丁来扩展nginx_tcp_proxy_module模块可参考下面的链接)。而在新版本以后,由于第三方的插件并未进行更新(2018年5月),高版本的Nginx自带有TCP负载均衡配置(stream模块),所以,该插件不能安装在高版本的Nginx上。

参考文档:

https://www.cnblogs.com/lixigang/articles/5130052.html

https://www.cnblogs.com/chenwz/p/7622983.html

http://blog.51cto.com/zhengmingjing/1907775

https://blog.csdn.net/ting0fdnb/article/details/80496072

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
为了升级Nginx RTMP版本,您可以按照以下步骤进行操作: 1. 首先,下载最新的Nginx版本。您可以在Nginx官方网站上找到最新的版本,并使用命令`wget`下载这个版本的压缩包。例如,您可以使用以下命令下载Nginx 1.12.1版本的压缩包: ``` wget http://nginx.org/download/nginx-1.12.1.tar.gz ``` 2. 下载RTMP模块。RTMP模块是一个第三方模块,它为Nginx提供了RTMP流媒体功能。您可以从RTMP模块的GitHub页面上下载最新版本的压缩包。例如,您可以使用以下命令下载RTMP模块v1.2.0版本的压缩包: ``` wget https://github.com/arut/nginx-rtmp-module/archive/v1.2.0.tar.gz ``` 3. 解压Nginx和RTMP模块的压缩包。您可以使用以下命令解压这两个压缩包: ``` tar -zxvf nginx-1.12.1.tar.gz tar -zxvf v1.2.0.tar.gz ``` 4. 进入Nginx源代码目录并编译安装。进入解压后的Nginx源代码目录,并使用以下命令配置、编译和安装Nginx: ``` cd nginx-1.12.1 ./configure --add-module=/path/to/nginx-rtmp-module-1.2.0 make sudo make install ``` 请注意,将`/path/to/nginx-rtmp-module-1.2.0`替换为您解压后的RTMP模块的实际路径。 5. 完成安装后,您可以启动Nginx RTMP服务器。使用以下命令启动Nginx: ``` nginx ``` 您可以在启动命令中添加`-c`参数,指定Nginx配置文件的路径。例如: ``` nginx -c /path/to/nginx.conf ``` 请将`/path/to/nginx.conf`替换为您自己的配置文件路径。 通过按照上述步骤,您就可以成功升级Nginx RTMP版本了。请确保您在进行任何更改之前备份您的现有配置文件和数据。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值