[Nginx] virtual host traffic status module

Hướng dẫn cài đặt cấu hình Nginx virtual host traffic status module

1. Cài đặt thư viện yum

yum groupinstall 'Development Tools' -y
yum install gcc-c++ flex bison yajl yajl-devel curl-devel curl GeoIP-devel doxygen zlib-devel pcre-devel
yum install lmdb lmdb-devel libxml2 libxml2-devel ssdeep ssdeep-devel lua lua-devel

 2. Cài đặt nginx-module-vts

cd /usr/src
git clone https://github.com/vozlt/nginx-module-vts.git

 3. Cài đặt module

cd /usr/src
wget http://nginx.org/download/nginx-1.20.1.tar.gz
tar zxvf nginx-1.20.1.tar.gz
cd nginx-1.20.1
./configure --with-compat --add-dynamic-module=/usr/src/nginx-module-vts
make modules
cp objs/ngx_http_vhost_traffic_status_module.so /etc/nginx/modules
chmod 644 /etc/nginx/modules/ngx_http_vhost_traffic_status_module.so

4. Load Nginx Module VTS, edit file /etc/nginx/nginx.conf và thêm cấu hình ngx_http_vhost_traffic_status_module

error_log  /var/log/nginx/error.log warn;
pid        /var/run/nginx.pid;
load_module modules/ngx_http_vhost_traffic_status_module.so;

Thêm vào thẻ http block đoạn code sau:

http {
vhost_traffic_status_zone;
include       /etc/nginx/mime.types;
     default_type  application/octet-stream;
.......
gzip  on;
.......
.......
}

Mặc định shared memory của vhost_traffic_status_zone là 2Mb. Để tăng giá trị của nó bạn thêm dòng code sau:

vhost_traffic_status_zone shared:vhost_traffic_status:32m;

5. Tạo htpasswd file, vd in /etc/nginx/.htpasswd

htpasswd -c /etc/nginx/.htpasswd userstatus

6. Sau đó thêm dòng code vào vhost của bạn:

server {
listen 443 ssl http2;
servername yourdomain.com;
.......
.......
location /status {
  auth_basic "Restricted";
  auth_basic_user_file /etc/nginx/.htpasswd;
  vhost_traffic_status_display;
  vhost_traffic_status_display_format html;
}
.......
.......
}

 Chúc các bạn thành công.

Bình luận