Fork me on GitHub

在已经安装好的Nginx上增加新模块

要为nginx配置Prometheus监控,nginx已经安装运行一段时间了,不想重新安装。通过搜索学习,整理为已安装nginx添加新模块的方法,记录如下。

以下以添加 nginx-module-vts 模块为例,安装其他模块也是同样的道理。

下载 nginx-module-vts 模块: https://github.com/vozlt/nginx-module-vts

 下载后通过 xftp 等工具将下载后的文件 上传至 主机  /opt 目录下

  nginx-module-vts安装

#  yum -y install unzip
#  unzip nginx-module-vts-master.zip
#  mv nginx-module-vts-master /usr/local/

进入nginx的安装目录,查看已编译参数,并复制

#  cd /usr/local/nginx/sbin/
#  ./nginx -V

  进入原来安装nginx的安装包(若已删除,则重新下载与当前nginx版本一致的安装包),将要增加的模块配置( --add-module=/usr/local/nginx-module-vts-master/ )添加进去,重新编译

#  cd /opt/nginx-1.10.1
#  ./configure --prefix=/usr/local/nginx --conf-path=/usr/local/nginx/conf/nginx.conf --pid-path=/usr/local/nginx/conf/nginx.pid --lock-path=/var/lock/nginx.lock --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --with-http_gzip_static_module --http-client-body-temp-path=/var/tmp/nginx/client --http-proxy-temp-path=/var/tmp/nginx/proxy --http-fastcgi-temp-path=/var/tmp/nginx/fastcgi --http-uwsgi-temp-path=/var/tmp/nginx/uwsgi --http-scgi-temp-path=/var/tmp/nginx/scgi --with-mail_ssl_module --add-module=/usr/local/upstream/ --add-module=/usr/local/nginx-module-vts-master/

编译

#  make

不要执行make install命令,会覆盖原来的安装目录

备份原来的nginx可执行文件

#  cp /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.bak

将编译好的nginx复制到原始nginx的sbin目录

#  cp objs/nginx /usr/local/nginx/sbin/

再执行/usr/local/nginx/sbin/nginx -V查看一下nginx的模块情况。

 可以看到新的模块已经增加进来了。至此在已经安装好的Nginx上增加新模块配置完成。 

posted @ 2020-04-21 11:28  Aiden郭祥跃  阅读(3106)  评论(0编辑  收藏  举报
";