[toc]
nginx增加新模块
场景:编译安装的nginx后续可能会增加一些第三方模块或者未编译的nginx模块
1.编译安装的nginx增加新模块
1.1 查看nginx编译安装参数
$ nginx -V
nginx version: nginx/1.16.1
built by gcc 4.8.5 20150623 (Red Hat 4.8.5-39) (GCC)
built with OpenSSL 1.0.2k-fips 26 Jan 2017
TLS SNI support enabled
configure arguments: --prefix=/etc/nginx --user=nginx --group=nginx --sbin-path=/usr/sbin/nginx --conf-path=/etc/nginx/nginx.conf --pid-path=/var/run/nginx.pid --lock-path=/var/run/nginx.lock --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --with-http_gzip_static_module --with-http_stub_status_module --with-http_ssl_module --with-pcre --with-file-aio --with-http_realip_module --without-http_scgi_module --without-http_uwsgi_module --without-http_fastcgi_module
1.2 下载第三方模块
ngx_echo 为Nginx配置文件带来"echo","sleep","time","exec"和更多shell样式的东西
wget https://github.com/openresty/echo-nginx-module/archive/v0.61.tar.gz
解压缩至/usr/local
tar xf v0.61.tar.gz -C /usr/local
使用选项--add-module=/path/to/echo-nginx-module
添加模块
1.3 重新编译nginx
警告
⚠️make之后不要执行make install !!!
#进入nginx源码目录
cd nginx-1.16.1
#重新./configure
./configure --prefix=/etc/nginx --user=nginx --group=nginx --sbin-path=/usr/sbin/nginx --conf-path=/etc/nginx/nginx.conf --pid-path=/var/run/nginx.pid --lock-path=/var/run/nginx.lock --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --with-http_gzip_static_module --with-http_stub_status_module --with-http_ssl_module --with-pcre --with-file-aio --with-http_realip_module --without-http_scgi_module --without-http_uwsgi_module --without-http_fastcgi_module --add-module=/usr/local/echo-nginx-module-0.61
#编译,不能执行make install
make
安装完成后查看,最后就是添加的第三方模块
$ nginx -V
nginx version: nginx/1.16.1
built by gcc 4.8.5 20150623 (Red Hat 4.8.5-39) (GCC)
built with OpenSSL 1.0.2k-fips 26 Jan 2017
TLS SNI support enabled
configure arguments: --prefix=/etc/nginx --user=nginx --group=nginx --sbin-path=/usr/sbin/nginx --conf-path=/etc/nginx/nginx.conf --pid-path=/var/run/nginx.pid --lock-path=/var/run/nginx.lock --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --with-http_gzip_static_module --with-http_stub_status_module --with-http_ssl_module --with-pcre --with-file-aio --with-http_realip_module --without-http_scgi_module --without-http_uwsgi_module --without-http_fastcgi_module --add-module=/usr/local/echo-nginx-module-0.61
1.4 nginx二进制文件操作
备份原有文件
mv /usr/sbin/nginx{,.bak}
拷贝新文件
cp nginx-1.16.1/objs/nginx /usr/sbin