一、概述
除Nginx官网源码提供的各种模板,Nginx还有第三方模块。官方文档中也列出了Nginx的很多第三方模块,除官网之外,还有很多的有用的模块也能在Github上找到。
官网第三方模块地址:https://www.Nginx.com/resources/wiki/modules/
公司前端使用的是Nginx代理,反向代理了很多域名,流量无法进行区分,Nginx本身不支持按域名统计,需要安装第三方模块Nginx-module-vts
二、配置安装
2.1 因上线的业务正在运行着Nginx程序,需要先查看当前Nginx编译参数。
# Nginx -V Tengine version: Tengine/2.2.0 (Nginx/1.8.1) built by gcc 4.4.7 20120313 (Red Hat 4.4.7-17) (GCC) TLS SNI support enabled configure arguments: --prefix=/etc/Nginx --with-pcre=../pcre-8.36 --sbin-path=/usr/sbin/Nginx --conf-path=/etc/Nginx/Nginx.conf ……
# cd /usr/local/src/ # git clone git://github.com/vozlt/Nginx-module-vts.git
2.3 重新编译Nginx,可运行make,不要make install
# cd /usr/local/src/tengine-2.2.0 # ./configure --prefix=/etc/Nginx --sbin-path=/usr/sbin/Nginx --conf-path=/etc/Nginx/Nginx.conf ... --add-module=/usr/local/src/Nginx-module-vts # make
2.4 替换原Nginx命令,替换完成之后一定要重启Nginx否则不会生效。
# mv /usr/sbin/Nginx /usr/sbin/Nginx.bak # 备份原来的Nginx命令 # cp objs/Nginx /usr/sbin/Nginx # 把tengine/objs目录中的Nginx复制到/usr/sbin/目录中 # Nginx -V # 查看是否是新编译的Nginx命令,需带--add-module=/usr/local/src/Nginx-module-vts此参数 # Nginx -s stop # 需要重启Nginx,否则不生效,使用kill -USR2 `cat /var/run/Nginx.pid`未生效,就被它折腾了一天, # Nginx
2.5 配置ngin,使其生效
http { vhost_traffic_status_zone; ... server { ... location /status { vhost_traffic_status_display; vhost_traffic_status_display_format html; } } }
三、界面展示
更多用法参数https://github.com/vozlt/Nginx-module-vts说明
整体界面概览:
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。