본문 바로가기
개발

폐쇄망 환경에서 Nginx를 이용한 소프트웨어 로드 밸런싱 구축

by suwimi 2025. 3. 14.

 

폐쇄망 환경에서 Apache를 이용해 소프트웨어 로드 밸런싱을 구축하려 했으나, OS 간 종속성 문제에 부딪혔습니다.
사용 환경은 RHEL 7.x이며, 이에 대한 대안으로 Nginx 사용을 시도하였습니다.

 

폐쇄망 환경에서는 인터넷을 통한 패키지 설치가 불가능하기 때문에, 직접 필요한 RPM 패키지를 다운로드하여 수동 설치해야 합니다. 다운로드 해봅시다.

wget https://nginx.org/packages/rhel/7/x86_64/RPMS/nginx-1.22.1-1.el7.ngx.x86_64.rpm

 

 

패키지를 USB 또는 내부 네트워크를 통해 폐쇄망 서버로 이동시킵니다.

폐쇄망 서버에서 rpm 명령어를 이용해 직접 설치를 진행합니다.

rpm -Uvh nginx-1.22.1-1.el7.ngx.x86_64.rpm

 

의존성 문제가 발생할 경우, 필요한 추가 패키지를 함께 다운로드하여 설치해야 합니다.

이제 Nginx를 활용한 로드 밸런싱 환경을 구성할 준비가 되었습니다.

설정을 해봅시다.

 

/etc/nginx/nginx.conf 파일을 열고

user  nginx;
worker_processes  1;

error_log  /var/log/nginx/error.log warn;

pid        /var/run/nginx.pid;

events {
    worker_connections  1024;
}

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

    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;
    sendfile        on;
    #tcp_nopush     on;
    keepalive_timeout  65;
    #gzip  on;
    # 기본설정 include 주석처리
    #include /etc/nginx/conf.d/*.conf

   # 내 망 구성을 아래와 같이 추가
   upstream tomcat-instance {
       # 여기에 스케줄링 옵션을 줄 수 있다. 디폴트는 라운드 로빈. 다른 옵션은 검색을 통해 알아보자.
        server 172.17.1.1:18009;
        server 172.17.1.2:18009;
    }

​    server {
        listen 80;
        location / {
            proxy_pass http://tomcat-instance;
        }
    }

}

 

위 같이 빨간색은 주석처리

파란색은 추가하여  두개의 WAS에 로드 밸런싱을 설정할 수 있습니다.

 

참 쉽죠?