nginx动态安装编译加载模块的方法

本文是在不重新编译安装Nginx的情况下进行安装新模块的,本文以动态安装  --with-http_stub_status_module 为例子讲解

首先,查看原来Nginx已安装的模块有那些

/usr/local/nginx -V                 //    前面的为Nginx所在的路径  -V 是查看模块

我的之前是这样

nginx动态安装编译加载模块的方法

 

只指定了  configure arguments: --prefix=/usr/local/nginx   即Nginx的安装目录,由于学习的时候学习了一个配置如下

localhost /zxc{

  stub_status;

}

而该配置需要  with-http_stub_status_module 的支持,但是由于我没有安装,所以会报

nginx: [emerg] unknown directive "stub_status" in /usr/local/nginx/conf/nginx.conf:44  的错

下面就开始讲述如何新增模块

首先,你需要复制原来的 参数在再加上你要添加的参数,在我这里即是

./configure --prefix=/usr/local/nginx --with-http_stub_status_module
之所以要复制原来的是因为原来的可能有用

然后到你解压的 tar 包的Nginx目录下执行一次这个命令,执行完之后是

nginx动态安装编译加载模块的方法

然后执行  make 命令,注意,只是 make 不要执行make install 命令

然后会开始编译,编译完会在此目录下的 objs 下面生成一个新的 nginx 可执行文件

然后查看当前这个nginx 的编译参数

./objs/nginx -V 命令

 nginx动态安装编译加载模块的方法

发现此时有那个模块了

再讲这个nginx 文件复制替换到你原来的Nginx所在地即可完成模块的加成!

到这里就结束了

参考文章   https://www.cnblogs.com/zhming26/p/6278535.html