본문 바로가기

리눅스

CentOS 7에서 nginx-module-vts 모듈을 추가하는 방법

728x90

CentOS 7에서 nginx-module-vts 모듈을 추가하는 방법

1. 필요한 패키지 설치

sudo yum install -y epel-release
sudo yum install -y gcc-c++ make rpm-build zlib-devel pcre-devel openssl-devel

2. 작업 디렉토리 생성

mkdir -p /usr/local/src/nginx-build
cd /usr/local/src/nginx-build

3. nginx-module-vts 모듈 소스 다운로드

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

4. Nginx 소스 다운로드

wget https://nginx.org/download/nginx-1.24.0.tar.gz
tar -xzf nginx-1.24.0.tar.gz
cd nginx-1.24.0

Nginx 빌드 및 모듈 추가

configure 명령어에 --add-dynamic-module 옵션을 사용하여 모듈을 추가

./configure --with-compat --add-dynamic-module=../nginx-module-vts

Nginx 빌드

make modules

빌드된 모듈을 적절한 위치로 복사

sudo cp objs/ngx_http_vhost_traffic_status_module.so /usr/lib64/nginx/modules/

Nginx 구성 파일(/etc/nginx/nginx.conf 또는 해당되는 파일)에 모듈 로드 추가

load_module modules/ngx_http_vhost_traffic_status_module.so;

Nginx 구성 파일에서 모듈을 사용할 수 있도록 설정

vim /etc/nginx/nginx.conf

예를 들어, server 블록 안에 다음과 같이 추가

  • load_module modules/ngx_http_vhost_traffic_status_module.so;
  • vhost_traffic_status_zone;
# nginx.conf
user www-data www-data;

worker_processes auto;

error_log /var/log/nginx/error.log notice;
pid /var/run/nginx.pid;

load_module modules/ngx_http_vhost_traffic_status_module.so;

events {
    worker_connections 1024;
}

http {
    include /etc/nginx/mime.types;
    default_type application/octet-stream;

    vhost_traffic_status_zone;

    log_format main '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

    access_log /var/log/nginx/access.log main;
    ...
 }

Nginx 재시작

sudo systemctl restart nginx

이제 nginx-module-vts 모듈이 Nginx에 추가되었으며, 설정 파일에서 활용할 수 있습니다.

 

./configure --with-compat --add-dynamic-module=../nginx-module-vts
 
728x90