링크 ux 서버 클 러 스 터 배치: nginx 설정

Liux 클 러 스 터 를 몇 대 배치 하려 면 ~ 부하 균형 을 맞 춰 야 합 니 다 ~ ~ 여 기 는 nginx 로 부하 합 니 다 ~ ~ 사실 다른 것 도 있 습 니 다 ~ ~ 많은 회사 에서 nginx 를 사용 하 는 것 같 습 니 다. 아무튼 저 는 이 걸 사용 합 니 다 ~ 어떤 책 에 적 힌 nginx 의 병발 이 5w 정도 인 것 같 습 니 다 ~ 먼저 접속 서버 를 설정 하 였 습 니 다 ~ 전체 서버 클 러 스 터 가 채 택 된 것 같 습 니 다.Liux 를 사 용 했 는데 안전 을 위해 서 외부 네트워크 환경 을 가 진 컴퓨터 한 대 만 만들어 서 서버 에 접속 하기 위해 서 nginx 를 위 에 설 치 했 습 니 다.
먼저 nginx 의 최신 소스 를 시스템 에 불 러 옵 니 다 nginx 최신 소스 rpm - ivhhttp://nginx.org/packages/centos/6/noarch/RPMS/nginx-release-centos-6-0.el6.ngx.noarch.rpm 그리고 yum install nginx 를 설치 하면 됩 니 다. 주의 하 세 요 ~ 방화벽 은 80 포트 를 열 고 간단 한 설정 을 시작 합 니 다 ~
nginx 간단 한 설정
먼저 nginx 가 설정 한 머리 입 니 다. (이 부분 은 기본적으로 생략 할 수 있 습 니 다 ~)
//     nginx,     root
user nginx;
//   “auto”     ,           
worker_processes auto;
//      
error_log /var/log/nginx/error.log;
pid /run/nginx.pid;

기타 설정 workerconnections 설정 은 워 커 프로 세 스 가 동시에 열 수 있 는 최대 연결 수 입 니 다.
events {
worker_connections 2048;
multi_accept on;
use epoll;
}

부하 균형 목록 설정 weigth 는 가중치, 가중치 가 클 수록 분배 비율 이 큽 니 다.
upstream www.me.com {
    server 192.168.1.3:8080 weight=1;
    server 192.168.2.3:8080  weight=1;
    server 192.168.3.3:8080  weight=2;
    }

http 기타 설정
#server_tokens     nginx       ,             nginx    ,            。

#sendfile      nginx      sendfile   (zero copy   )     ,      ,
    #     on,             IO     ,     off,        I/O    ,     uptime.
    sendfile        on;
    #tcp_nopush     on;
#      
    #keepalive_timeout  0;
    keepalive_timeout  65;
    tcp_nodelay        on;
    
    #  gzip  
    gzip  on;
    gzip_disable "MSIE [1-6]\.(?!.*SV1)";//  IE6

    #      
    client_header_buffer_size    1k;
    large_client_header_buffers  4 4k;

감청 포트 와 접근 방식 을 다음 과 같이 설정 합 니 다.
server {
        listen       80;
        server_name  www.me.com;

접근 부하 균형 처리 설정
location / {

     root   html;
     index  index.html index.htm;
	 proxy_pass   http://www.me.com;//     

정적 파일 의 처 리 를 설정 할 수 있 습 니 다. tomcat 로 정적 파일 을 처리 하지 않 아 도 됩 니 다. 이곳 은 정규 표현 식 을 사용 할 수 있 습 니 다 ~
	location ^~ /resources/ {//        
		root   /data/mm/;//        
		expires 30d;//    
	}

위 설정 과 같다 면 코드 차원 에서 사용자 가 방문 하 는 ip 주 소 를 받 으 려 면 받 을 수 없습니다 ~ ~ 기본적으로 로 컬 루프 주소 의 다른 설정 입 니 다 ~ ~
#   Web       X-Forwarded-For      IP
          proxy_set_header Host $host;
          proxy_set_header X-Real-IP $remote_addr;
          proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
          client_max_body_size 10m;    #                
          client_body_buffer_size 128k;  #                  ,
          proxy_connect_timeout 90;  #nginx            (      )
          proxy_send_timeout 90;        #           (      )
          proxy_read_timeout 90;         #     ,         (      )
          proxy_buffer_size 4k;             #       (nginx)             
          proxy_buffers 4 32k;               #proxy_buffers   ,     32k    ,    
          proxy_busy_buffers_size 64k;    #        (proxy_buffers*2)
          proxy_temp_file_write_size 64k;  #         ,     ,  upstream    

그리고 nginx - s reload 를 실행 하여 큰 성 과 를 거 두 었 습 니 다.
내 서버 의 다 중 서버 다 중 사이트 설정:
# For more information on configuration, see:
#   * Official English Documentation: http://nginx.org/en/docs/
#   * Official Russian Documentation: http://nginx.org/ru/docs/

user nginx;
worker_processes auto;
error_log /var/log/nginx/error.log;
pid /run/nginx.pid;

# Load dynamic modules. See /usr/share/nginx/README.dynamic.
include /usr/share/nginx/modules/*.conf;

events {
    worker_connections 1024;
}

http {
    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;
    tcp_nodelay         on;
    keepalive_timeout   65;
    types_hash_max_size 2048;

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

    # Load modular configuration files from the /etc/nginx/conf.d directory.
    # See http://nginx.org/en/docs/ngx_core_module.html#include
    # for more information.
    include /etc/nginx/conf.d/*.conf;

    server {
        listen       80 default_server;
        listen       [::]:80 default_server;
        server_name  *.dreamsoso.com;
        #root         /usr/share/nginx/html;

        # Load configuration files for the default server block.
        include /etc/nginx/default.d/*.conf;

        location / {
	    proxy_set_header   Host             $host;
            proxy_set_header   X-Real-IP        $remote_addr;
            proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
	    #proxy_pass http://47.92.68.170:8083;
	    if ($host ~ ^(dileber)\.dreamsoso\.com$){
              proxy_pass http://localhost:8082;
            }
	    if ($host ~ ^(shop)\.dreamsoso\.com$){
              proxy_pass http://localhost:8083;
            }
	    if ($host ~ ^(www)\.dreamsoso\.com$){
              proxy_pass http://localhost:8083;
            }
	    if ($host ~ ^(gold)\.dreamsoso\.com$){
	      proxy_pass http://localhost:8087;
	    }
	    if ($host ~ ^(me)\.dreamsoso\.com$){
	      proxy_pass http://localhost:8091;
	    }
	    if ($host ~ ^(chain)\.dreamsoso\.com$){
	      proxy_pass http://localhost:8093;
	    }
	    if ($host ~ ^(hunli)\.dreamsoso\.com$){
	      proxy_pass http://localhost:8094;
	    }
        }

 	

        error_page 404 /404.html;
            location = /40x.html {
        }

        error_page 500 502 503 504 /50x.html;
            location = /50x.html {
        }
    }

    server {
    	listen 8087;             
    	server_name _;           #   :www.example.com    "_"         
    	root /opt/aligold/; #      
    	index index.html;
    }


    server {
    	listen 8091;             
    	server_name _;           #   :www.example.com    "_"         
    	root /opt/me/; #      
    	index index.html;
    }

    server {
    	listen 8093;             
    	server_name _;           #   :www.example.com    "_"         
    	root /opt/chain/; #      
    	index index.html;
    }

    server {
    	listen 8094;             
    	server_name _;           #   :www.example.com    "_"         
    	root /opt/hunli/; #      
    	index HMDGO1ND.html;
    }

# Settings for a TLS enabled server.
#
#    server {
#        listen       443 ssl http2 default_server;
#        listen       [::]:443 ssl http2 default_server;
#        server_name  _;
#        root         /usr/share/nginx/html;
#
#        ssl_certificate "/etc/pki/nginx/server.crt";
#        ssl_certificate_key "/etc/pki/nginx/private/server.key";
#        ssl_session_cache shared:SSL:1m;
#        ssl_session_timeout  10m;
#        ssl_ciphers HIGH:!aNULL:!MD5;
#        ssl_prefer_server_ciphers on;
#
#        # Load configuration files for the default server block.
#        include /etc/nginx/default.d/*.conf;
#
#        location / {
#        }
#
#        error_page 404 /404.html;
#            location = /40x.html {
#        }
#
#        error_page 500 502 503 504 /50x.html;
#            location = /50x.html {
#        }
#    }

}


좋은 웹페이지 즐겨찾기