共计 2807 个字符,预计需要花费 8 分钟才能阅读完成。
Nginx 动态添加模块
已经安装好的 Nginx 动态添加模块
说明:
已经安装好的 Nginx,需要添加一个未被编译安装的模块,需要怎么弄呢?这里已安装第三方 nginx-rtmp-module 模块为例
nginx 的模块是需要重新编译 nginx,而不是像 apache 一样配置文件引用.so
具体操作步骤:
(1)下载第三方扩展模块 nginx-rtmp-module
# cd /home/work/software/
# wget https://github.com/arut/nginx-rtmp-module/archive/master.zip
# unzip master.zip
# ls nginx-rtmp-module-master/
(2)查看 nginx 编译安装时安装了哪些模块
# /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
可以看出编译安装使用了 –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 这些模块。
(3)加入需要安装的模块,重新编译,如这里添加–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 了
(4)替换 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/
(5)再次确认是否安装成功
# /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 就重新编译添加模块成功了。
: