已安装的 Nginx,需要添加一个新模块,需要怎么弄呢?
步骤
以模块 nginx-sticky-module-ng 为例
- 查看 Nginx 上次编译安装参数
[~]$ nginx -V
nginx version: nginx/1.10.0
built by gcc 4.4.7 20120313 (Red Hat 4.4.7-17) (GCC)
built with OpenSSL 1.0.1e-fips 11 Feb 2013
TLS SNI support enabled
configure arguments: --user=www --group=www --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-http_v2_module --with-http_gzip_static_module --with-ipv6 --with-http_sub_module
命令输出的数据中,configure arguments
项内容即上次的编译参数,需要重复用到。
- 备份原 Nginx 执行文件
- 下载原版本的 Nginx 源码包,并解压
- 下载第三方扩展模块
git clone https://bitbucket.org/nginx-goodies/nginx-sticky-module-ng.git
- 加入需要安装的新模块,重新编译
如果是第三方模块,则指定目录;如果是内置模块,则指定模块名。
./configure --prefix=/你的安装目录 --add-module=/第三方模块目录
./configure --user=www --group=www --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-http_v2_module --with-http_gzip_static_module --with-ipv6 --with-http_sub_module --add-module=./nginx-sticky-module-ng
// make后不要执行install,改用手动拷贝
make
// 强制覆盖执行文件
sudo cp -rfp objs/nginx /usr/local/nginx/sbin/nginx