1.普通模块安装
通过nginx的help信息可以查看各个模块的添加信息,带有 without 的是默认 编译,带有with 的需要在编译中添加。
(1)with 模块添加
./configure --prefix=/你的安装目录 --with-模块1 --with-模块2
简单的两个 模块 安装示例
./configure --prefix=/usr/local/nginx \
--with-http_stub_status_module \
--with-http_ssl_module
然后执行编译 make ,最后执行安装 make install
(2)without 关闭不需要添加的模块
带有 without 的模块是不需要编译的会默认添加,如果不需要编译摸一个模块可以通过 without 的语句
./configure --prefix=/你的安装目录 --without-模块
示例(关闭upstream_least_conn_module 模块):
./configure --prefix=/usr/local/nginx \
--with-http_stub_status_module \
--with-http_ssl_module \
--without-http_upstream_least_conn_module
2.第三方模块安装
第三方模块需要下载到本地,然后通过 add-module 安装。
./configure --prefix=/你的安装目录 --add-module=第三方模块路径
示例:
./configure --prefix=/usr/local/nginx \
--with-http_stub_status_module \
--with-http_ssl_module
--add-module=/usr/local/nginx-upstream-fair-master
3.编译后NGINX模块的添加(重新编译)
nginx 不支持模块的动态添加,当需要添加新的模块时,都是覆盖。
每次重新编译nginx的时候要知道上次nginx都是怎么编译的,添加了什么模块。所以需要查看nginx的编译详情。
cd /usr/local/nginx/sbin
./nginx -V
执行结果:
configure arguments: --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module
例如这次需要添加 http_realip_module 模块
在nginx 的解压目录下执行
./configure --prefix=/usr/local/nginx \
--with-http_stub_status_module \
--with-http_ssl_module \
--with-http_realip_module
编译 make ,安装 make install。
完事会在 nginx/sbin/ 目录下 出现一个 nginx.old 文件,这个是被替换的 nginx 文件。
不执行安装也可以,既不执行 make install 采用备份复制的方式。
备份: cp /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.bak
复制:cp ./objs/nginx /usr/local/nginx/sbin/
总结:第一次安装编译时,只需要添加需要的模块然后三步走 ./configure 、make 、make install
更新添加模块时,需要 nginx -V 查看编译信息,然后把之前的编译信息带上重新编译(重新编译要带上之前的编译信 息),再加上需要的模块,./configure 、make 备份和复制。