Nginx全新安装或加装模块--Nginx-module-vts监控多虚拟主机流量
0x00 环境说明
OS:Centos 7.9
Nginx版本:1.22.1
模块:nginx-module-vts-0.2.1.zip 下载地址:github.com
0x01 全新Nginx安装
下载nginx最新稳定版本,这里是Nginx-1.22.1
解压并编译安装
# 环境依赖
# rockylinux 9.3
dnf install -y gcc gcc-c++ pcre pcre-devel zlib zlib-devel perl-IPC-Cmd
./configure --prefix=/usr/local/nginx --with-http_ssl_module --with-http_stub_status_module --with-http_gzip_static_module --with-http_mp4_module --with-stream --with-http_realip_module --with-http_ v2_module --with-http_sub_module
# centos7.9
yum install -y gcc gcc-c++ pcre-devel pcre zlib zlib-devel
tar -zxvf nginx-1.22.1.tar.gz cd nginx-1.22.1 ./configure --prefix=/usr/local/nginx --with-http_stub_status_module --add-module=/home/data/nginx-module-vts make && make install
将nginx添加到system服务 ,路径自己修改
[Unit] Description=nginx After=network.target [Service] Type=forking PIDFile=/usr/local/nginx/logs/nginx.pid ExecStart=/usr/local/nginx/sbin/nginx ExecReload=/usr/bin/kill -s HUP $MAINPID ExecStop=/usr/bin/kill -s QUIT $MAINPID PrivateTmp=true [Install] WantedBy=multi-user.target
#启动并开机启动
systemctl start nginx
systemctl enable nginx
0x02 添加模块 --已安装并运行了nginx
#进入到nginx源码目录 cd nginx-1.22.1 ./configure --prefix=先前已安装编译的路径不变 --add-module=下载的新模块解压后的路径 make #主要不要make install 否则会让之前的配置被替换为初识配置 #make后进入源码目录的子目录--objs中 先停止原来的nginx cp nginx 已安装目录位置
#重新启动nginx
systemctl start nginx
0x03 修改nginx配置
#如果存在多配置文件,请在http语句块内 server语句块外加入如下语句 include /usr/local/nginx/conf/conf.d/*.conf #上面conf.d默认不存在可以自行创建 路径也可以自定义
#在http语句块内加入虚拟主机流量监控的配置行
vhost_traffic_status_zone;
vhost_traffic_status on;
vhost_traffic_status_filter_by_host on;#按虚拟主机区分各自流量
#新增location uri,配置显示及格式
location /status {
vhost_traffic_status_display;
vhost_traffic_status_display_format html;
}
#在浏览器访问http://ip地址:<port>/status 就可以看到流量监控
如图: