以nginx-gridfs为例
./configure --prefix=/apps/nginx/nginx-1.14.2 --add-module=/apps/src/nginx-gridfs
1,查看当前nginx编译参数
[root@nginx1 nginx-1.14.0]# /usr/local/nginx/sbin/nginx -V
nginx version: nginx/1.14.2
built by gcc 4.8.5 20150623 (Red Hat 4.8.5-36) (GCC)
configure arguments:
查看没有我们需要的模块nginx-gridfs,需要单独安装一下。
2添加未编译安装模块(停掉服务)
[root@nginx1 nginx-1.14.0]# /etc/init.d/nginx stop
Stopping nginx (via systemctl): [ 确定 ]
2.1 使用参数重新配置:
./configure --prefix=/apps/nginx/nginx-1.14.2 --add-module=/apps/src/nginx-gridfs
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服务,重新查看模块加载情况:
[root@nginx1 nginx-1.14.0]# /etc/init.d/nginx start
Starting nginx (via systemctl): [ 确定 ]
[root@nginx1 nginx-1.14.0~]# /usr/local/nginx/sbin/nginx -V
nginx version: nginx/1.14.2
built by gcc 4.8.5 20150623 (Red Hat 4.8.5-36) (GCC)
configure arguments: --prefix=/apps/nginx/nginx-1.14.2 --add-module=/apps/src/nginx-gridfs
模块已安装搞定。
总结,安装nginx安装第三方模块实际上是使用--add-module重新安装一次nginx,不要make install而是直接把编译目录下objs/nginx文件直接覆盖老的nginx文件.如果你需要安装多个nginx第三方模块,你只需要多指定几个相应的--add-module即可.
备注:重新编译的时候,记得一定要把以前编译过的模块一同加到configure参数里面.