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 协议》,转载必须注明作者和本文链接
胡军
讨论数量: 1

:+1:

4年前 评论
huxiaobai_001 (楼主) 4年前

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!