要為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上增加新模塊配置完成。