>  기사  >  백엔드 개발  >  Nginx 구성은 TCP 프로토콜을 기반으로 역방향 프록시 및 로드 밸런싱을 구현합니다.

Nginx 구성은 TCP 프로토콜을 기반으로 역방향 프록시 및 로드 밸런싱을 구현합니다.

WBOY
WBOY원래의
2016-08-08 09:24:191466검색

1. 설치 환경

시스템 환경: centos6.3_x64

소프트웨어 버전: nginx-1.4.2.tar.gz nginx_tcp_proxy_module-master.zip

2. 소프트웨어 설치cd /root/
wget http://nchc.dl.sourceforge.net/project/pcre/pcre/8.12/pcre- 8.12.tar.gz
tar zxvf pcre-8.12.tar.gz
cd pcre-8.12/
./configure
make && make install
cd /usr/local/src
wget http://www.openssl.org/source/ openssl-1.0.1c.tar.gz
tar -zxvf openssl-1.0.1c.tar.gz
cd /root/
wget http://nginx.org/download/nginx-1.4.2.tar.gz
groupadd www
useradd -g www www
tar zxvf nginx-1.4.2.tar.gz
cd nginx-1.4.2/
# https://github로. com/yaoweibin/nginx_tcp_proxy_module 이 주소는 nginx_tcp_proxy_module 모듈
unzip nginx_tcp_proxy_module-master.zip
patch -p1 < /root/nginx-1.4.2/ngin을 다운로드합니다. x_tcp_proxy_module- master/tcp.patch
./configure --user=www --group=www --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module - -with -openssl=/usr/local/src/openssl-1.0.1c --add-module=/root/nginx-1.4.2/nginx_tcp_proxy_module-master
make && make install

3.nginx 구성

 # cat /usr/local/nginx/conf/nginx.conf
사용자  www;
worker_processes  8;   #等同于CPU核数
error_log  logs/error.log;
pid        logs/nginx.pid;
이벤트 {
    epoll 사용;
    worker_connections  51200;
}
http {
    include       mime.types;
    default_type  application/octet-stream;
    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                     '$status $body_bytes_sent "$http_referer" '
                                                                                        ed_for"';
    #access_log 로그/access.log  main;
    sendfile        on;
    #tcp_nopush     on;
    keepalive_timeout  65;
    client_header_buffer_size 4k;
    large_client_header_buffers 4 16k;
    client_max_body_size 50m;
    클라이언트 _body_buffer_size 256k;
    proxy_connect_timeout 600;
    proxy_read_timeout 600;
    proxy_send_timeout 600;
    proxy_buffer_size 64 ㅋ;
Proxy_buffers   4 64k;
    proxy_busy_buffers_size 128k;
    proxy_temp_file_write_size 128k;
    gzip  on;
}
tcp {
#### dhserver ####
 업스트림 dh {
서버 192.168.5.83:26888;
  서버 192.168.5.84:26888;
  확인 간격=3000 상승=2 하락=5 시간 제한=1000;
 }
 서버 {
  listen 26888;
  proxy_pass dh;
}
####  메인서버 ####
        업스트림 메인 {
서버 192.168.5.85:8088;
 서버 192.168.5.86:8088;
  check interval=3000 rise=2 fall=5 timeout=1000;
        }
        서버 {
               8088 듣기;
               proxy_pass main;
        }
#### 파일 ####
        업스트림 파일1 {
               서버 192.168.5.93:30001;
                서버 192.168.5.94 :30001;
               확인 간격=3000 상승=2 하락=5 시간 초과=1000;
        }
        서버 {
               듣기 30001;
               proxy_pass files1;
        }
업스트림 파일2 {
서버 192.168.5.93:30002;
서버 192.168.5.94:30002;
확인 간격 = 3000 상승 = 2 하강 = 5 시간 초과 = 1000
}

듣기
Proxy_pass files2;
}

}

PS: 이전에 많은 NGINX 프록시 테스트와 포트 기반 서비스 전달을 수행했지만 모두 실패로 끝났습니다. 시도할 수 있는 유일한 방법입니다.

또한 서버에 NGINX를 설치한 경우에는 적어도 설치 패키지에서 패치 단계가 이루어지기 때문에 제거했다가 다시 설치해야 할 수도 있습니다. 지금까지 설치된 좋은 nginx 서비스를 패치하지 못했습니다. README에서는 설치 패키지 아래의 패치만 소개합니다.

위 내용은 관련 측면을 포함하여 TCP 프로토콜을 기반으로 역방향 프록시 및 로드 밸런싱을 구현하기 위한 Nginx 구성을 소개합니다. PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.