已安装nginx要添加模块是日常工作很常见的,本文展示如何动态添加模块
1. 查看nginx已安装了哪些模块
/usr/local/nginx/sbin/nginx -V
此步骤主要是查看之前安装nginx时都带了哪些模块,为了兼容在运行的nginx,需要把之前哪些参数在新编译时也带上
2. 加入需要安装的模块,重新编译, 重新编译时需带上已安装的模块
安装新模块分两种情况
- 第三方模块,通过--add-module=新模块目录
- 非第三方模块,通过--with-xx
找到安装包或新下载的该版本的安装包,在安装包执行configure
./configure --with-http_image_filter_module (本例之前没安装任何模块)
http_image_filter_module依赖gd模块,如果没有安装会报错
./configure: error: the HTTP image filter module requires the GD library.
安装gd依赖
brew install gd
安装gd成功后,再次执行configure
./configure --with-http_image_filter_module
执行make ,然后make install
3. 把安装包目录下的objs的nginx拷贝并覆盖已安装的nginx
cp ./objs/nginx /usr/local/nginx/sbin
4. 验证
通过/usr/local/nginx/sbin/nginx -V
发现新编译已经带了http_image_filter_module模块