nginx 如何指定新增模块在什么阶段处理
发布网友
发布时间:2022-04-29 23:37
我来回答
共1个回答
热心网友
时间:2022-06-26 03:24
在原生的nginx,他不可以动态加载模块,所以当你安装第三方模块的时候需要覆盖nginx文件.nginx第三方模块安装方法如下:
1
./configure --prefix=/你的安装目录 --add-mole=/第三方模块目录
以安装pagespeed模块实例
在未安装nginx的情况下安装nginx第三方模块
1
2
3
4
5
6
7
8
# ./configure --prefix=/usr/local/nginx-1.4.1 \
--with-http_stub_status_mole \
--with-http_ssl_mole --with-http_realip_mole \
--with-http_image_filter_mole \
--add-mole=../ngx_pagespeed-master --add-mole=/第三方模块目录
# make
# make isntall
# /usr/local/nginx-1.4.1/sbin/nginx
在已安装nginx情况下安装nginx模块
1
2
3
4
5
6
7
8
9
# ./configure --prefix=/usr/local/nginx-1.4.1 \
--with-http_stub_status_mole \
--with-http_ssl_mole --with-http_realip_mole \
--with-http_image_filter_mole \
--add-mole=../ngx_pagespeed-master
# make
# /usr/local/nginx-1.4.1/sbin/nginx -s stop
# cp objs/nginx /usr/local/nginx/sbin/nginx
# /usr/local/nginx-1.4.1/sbin/nginx
相比之下仅仅多了一步覆盖nginx文件.
总结,安装nginx安装第三方模块实际上是使用–add-mole重新安装一次nginx,不要make install而是直接把编译目录下objs/nginx文件直接覆盖老的nginx文件.如果你需要安装多个nginx第三方模块,你只需要多指定几个相应的–add-mole即可.