Nginx二次编译—增加模块
目录
1、查看已安装模块
查看命令:
cd /usr/local/nginx/sbin./nginx -V
结果:
如果在安装时加载了模块则有值,如果没有加载则没有值,比如:
--prefix=/usr/local/nginx --with-http_ssl_module
关闭nginx:
./nginx -s stop
2、安装模块
比如安装模块为:--with-http_stub_status_module
1、进入nginx的编译目录(就是解压后的nginx文件)
cd /usr/local/nginx-1.20.2
2、执行编译
执行编译时分为两种情况:
- 之前存在模块:
# 如果之前存在模块,则需要在加入新模块时也加入以前存在的模块,比如:./configure --prefix=/usr/local/nginx --with-http_ssl_module --with-http_stub_status_module# --with-http_ssl_module为存在的模块,--with-http_stub_status_module为新加的模块,--add-module= #第三方模块路径
- 之前不存在模块:
# 如果之前不存在模块,则直接加入新模块即可./configure --with-http_stub_status_module# --with-http_stub_status_module为新加的模块,--add-module= #第三方模块路径
3、执行编译
# 进入目录cd /usr/local/nginx-1.20.2# 编译make
4、替换文件
生成nginx文件:
通过make
编译完成后,会在objs目录下会生成nginx文件
备份文件:
将原来sbin
目录下的nginx
文件进行备份,保证失败后的复原;
cp /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.bak
拷贝新编译文件:
将objs
下新生成的nginx
文件拷贝到sbin目录下
cp /usr/local/nginx-1.20.2/objs/nginx /usr/local/nginx/sbin/nginx
5、验证新模块
完成nginx
替换后,需要重启nginx
cd /usr/local/nginx/sbin./nginx -s reload
查看新模块:
# 如果打印的新加模块的名称,则表示加载成功./nginx -V