> 文档中心 > Nginx二次编译—增加模块

Nginx二次编译—增加模块

目录

  • 1、查看已安装模块
  • 2、安装模块
  • 3、执行编译
  • 4、替换文件
  • 5、验证新模块

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