今天想通过zabbix实现一个nginx监控,发现以来的模块–with-http_stub_status_module没有安装,需要进行编译一下。这里记录下模块单独安装步骤,就以–with-http_stub_status_module为例
1,查看当前nginx编译参数
[[email protected] nginx-1.14.0]# /usr/local/nginx/sbin/nginx -V
nginx version: nginx/1.14.0
built by gcc 4.8.5 20150623 (Red Hat 4.8.5-28) (GCC)
configure arguments:
查看没有我们需要的模块–with-http_stub_status_module,需要单独安装一下。
2,添加未编译安装模块(停掉服务)
[[email protected] nginx-1.14.0]# /etc/init.d/nginx stop
Stopping nginx (via systemctl): [ 确定 ]
2.1 使用参数重新配置:
./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-http_realip_module
make 编译
注意:千万不要make install,否则就是覆盖安装
2.2 替换nginx二进制文件 ,当前nginx文件最好备份下,避免出问题。
停止nginx服务
cp /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.bak
cp /objs/nginx /usr/local/nginx/sbin/
重启下nginx服务,重新查看模块加载情况:
[[email protected] nginx-1.14.0]# /etc/init.d/nginx start
Starting nginx (via systemctl): [ 确定 ]
[[email protected] nginx-1.14.0]# /usr/local/nginx/sbin/nginx -V
nginx version: nginx/1.14.0
built by gcc 4.8.5 20150623 (Red Hat 4.8.5-28) (GCC)
built with OpenSSL 1.0.2k-fips 26 Jan 2017
TLS SNI support enabled
configure arguments: --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-http_realip_module
模块已安装搞定。
总结,安装nginx安装第三方模块实际上是使用--add-module重新安装一次nginx,不要make install而是直接把编译目录下objs/nginx文件直接覆盖老的nginx文件.如果你需要安装多个nginx第三方模块,你只需要多指定几个相应的--add-module即可.
备注:重新编译的时候,记得一定要把以前编译过的模块一同加到configure参数里面.
原文地址:http://blog.51cto.com/10158955/2141048