nginx 添加 模块

--- title: nginx 添加 模块 date: 2019-10-31 11:21:46 categories: tags: - config - nginx ---

说明:

已经安装好的Nginx,需要添加一个未被编译安装的模块(以nginx-rtmp-module模块为例),则需要重新编译nginx,而不是像apache一样配置文件引用.so

步骤

下载模块

以nginx-rtmp-module模块为例

# wget https://github.com/arut/nginx-rtmp-module/archive/master.zip
# unzip master.zip
# ls nginx-rtmp-module-master/

查看nginx编译安装时安装了哪些模块

# nginx -V 
nginx version: nginx/1.9.5
built by gcc 4.4.7 20120313 (Red Hat 4.4.7-23) (GCC) 
built with OpenSSL 1.0.1g 7 Apr 2014
TLS SNI support enabled
configure arguments: --prefix=/opt/nginx-1.9.5 --with-pcre=/home/work/software/pcre-8.38 --with-zlib=/home/work/software/zlib-1.2.8 --conf-path=/opt/nginx-1.9.5/conf/nginx.conf --pid-path=/opt/nginx-1.9.5/conf/nginx.pid --with-http_ssl_module --with-openssl=/home/work/software/openssl-1.0.1g --add-module=/home/work/software/headers-more-nginx-module-0.23 --add-module=/home/work/software/nginx-http-concat-master --with-http_gzip_static_module

可以看出编译安装时的配置使用了以下参数(将其复制出来)--prefix=/opt/nginx-1.9.5 --with-pcre=/home/work/software/pcre-8.38 --with-zlib=/home/work/software/zlib-1.2.8 --conf-path=/opt/nginx-1.9.5/conf/nginx.conf --pid-path=/opt/nginx-1.9.5/conf/nginx.pid --with-http_ssl_module --with-openssl=/home/work/software/openssl-1.0.1g --add-module=/home/work/software/headers-more-nginx-module-0.23 --add-module=/home/work/software/nginx-http-concat-master --with-http_gzip_static_module这些模块。

加入需要安装的模块

重新编译,如这里添加–add-module=/home/work/software/nginx-rtmp-module-master

# cd /home/work/software/nginx-1.9.5     //进入到nginx之前安装的目录
# ./configure --prefix=/opt/nginx-1.9.5 --with-pcre=/home/work/software/pcre-8.38 --with-zlib=/home/work/software/zlib-1.2.8 --conf-path=/opt/nginx-1.9.5/conf/nginx.conf --pid-path=/opt/nginx-1.9.5/conf/nginx.pid --with-http_ssl_module --with-openssl=/home/work/software/openssl-1.0.1g --add-module=/home/work/software/headers-more-nginx-module-0.23 --add-module=/home/work/software/nginx-http-concat-master --with-http_gzip_static_module --add-module=/home/work/software/nginx-rtmp-module-master
# make    //注意:千万不要make install,不然真的就GG了

替换nginx二进制文件

# /etc/init.d/nginx stop  
# cp /opt/nginx-1.9.5/sbin/nginx /opt/nginx-1.9.5/sbin/nginx.bak
# cp ./objs/nginx /opt/nginx-1.9.5/sbin/

再次确认是否安装成功

# /opt/nginx-1.9.5/sbin/nginx -V 
nginx version: nginx/1.9.5
built by gcc 4.4.7 20120313 (Red Hat 4.4.7-23) (GCC) 
built with OpenSSL 1.0.1g 7 Apr 2014
TLS SNI support enabled
configure arguments: --prefix=/opt/nginx-1.9.5 --with-pcre=/home/work/software/pcre-8.38 --with-zlib=/home/work/software/zlib-1.2.8 --conf-path=/opt/nginx-1.9.5/conf/nginx.conf --pid-path=/opt/nginx-1.9.5/conf/nginx.pid --with-http_ssl_module --with-openssl=/home/work/software/openssl-1.0.1g --add-module=/home/work/software/headers-more-nginx-module-0.23 --add-module=/home/work/software/nginx-http-concat-master --with-http_gzip_static_module --add-module=/home/work/software/nginx-rtmp-module-master

至此、nginx就重新编译添加模块成功了。

原文地址:https://www.cnblogs.com/schips/p/13178921.html