CentOS 下重新编译 nginx 添加模块

nginx 安装成功后,发现有一些其他模块没有编译进去,或者想额外添加一些模块,这时候就要重新编译 nginx。
首先,查看之前编译的一些参数,比如

centos下重新编译nginx添加模块

首先,查看之前编译的一些参数,比如

centos下重新编译nginx添加模块

可以看到之前编译 Nginx 时候的执行命令 里面包含了各种参数!可以看到之前编译 Nginx 时候的执行命令 里面包含了各种参数!

比如我现在要新增–with-http_gzip_static_module 这些模块参数,那么我只要把这些参数添加进去然后重新编译即可,需要注意的是原先编译过的参数也要加进来。

./configure --prefix=/usr/local/nginx \
--add-module=/usr/local/src/ngx_http_consistent_hash-master/ \
--with-http_gzip_static_module

注意:这里只能 make 千万别 make install,否则就覆盖安装了

make

make 完成后,在 Nginx 安装源码目录下会有一个 objs 目录,objs 目录下就多了个 nginx,这个就是新版本的程序了!
然后用 objs 目录下的 nginx 替换之前已经安装过的 nginx。
先备份旧的 sbin/nginx 文件
然后 cp objs/nginx/usr/local/nginx/sbin/nginx
如果提示 “cp:cannot create regular file `/usr/local/nginx/sbin/nginx’: Text file busy” 则执行:

cp -rfp objs/nginx /usr/local/nginx/sbin/nginx

然后重新启动 nginx 服务即可!
安装第三方模块差不多和上边一样 只不过是多了哥 add-module = 第三方模块目录
然后重新编译 备份就的 sbin/nginx make 完之后不 make install 然后用 objs 里面的 nginx 替换 sbin/nginx 即可!
重新编译的时候,记得一定要把以前编译过的模块一同加到 configure 参数里

本作品采用《CC 协议》,转载必须注明作者和本文链接
胡军