고정 표시기 빌드의 nginx로드 밸런싱

이 문서는 하나 개의 시스템에 균형의 nginx 부하를 설정하는 방법에 대해 설명합니다, 나는 고정 표시기 3 창 Nginx에 시작됩니다, 그들은 요청을 처리에 대한 책임이 뒤에 하나의 nginx 프런트 데스크를 배포 할 책임이 있습니다.

첫째,가 / usr / local / 고정 표시기 / 폴더로 전환,이 폴더는 고정 표시기 맵 폴더를 사용하도록 설계되어, 중요한 폴더의 고정 표시기는 어디에서 실행, 여기에 매핑

MKDIR의 nginx

MKDIR nginx01

MKDIR nginx02

Nginx의 전면 Nginx의 파일에 저장되고

nginx를 서버 뒤에 nginx01와 nginx02 두 개의 파일을 저장하기위한 책임이있다

"하나의 nginx 구성 및 사전 시작"

nginx를 아래에 / / usr / 지방 / 고정 표시기로 전환

그런 다음 실행

에서 mkdir -p conf의 HTML 로그

conf의 전환

정력 nginx.conf

사용자의 nginx; 
자동 worker_processes; 
의 error_log /var/log/nginx/error.log; 
PID는 /run/nginx.pid; 

#로드 동적 모듈. /usr/share/nginx/README.dynamic를 참조하십시오. 
포함은 / usr / 공유 / Nginx에 / 모듈 / * 의 .conf; 

이벤트 { 
    worker_connections 1024; 
} 

HTTP { 
    log_format 주 '$ REMOTE_ADDR - $의 REMOTE_USER [$ time_local] "$ 요청' ' 
                      '$ 상태 $의 body_bytes_sent을"$ HTTP_REFERER '' 
                      ' "$ HTTP_USER_AGENT" "$ HTTP_X_FORWARDED_FOR"'; 

    ACCESS_LOG /var/log/nginx/access.log 주요; 

    에 sendfile을; 
    에 tcp_nopush;
    keepalive_timeout 65; 
    2048 types_hash_max_size; 

    /etc/nginx/mime.types을 포함한다; 
    default_type 애플리케이션 / octet-stream을; 

    # /etc/nginx/conf.d 디렉토리에서 모듈 식 구성 파일을로드합니다. 
    # 참조 http://nginx.org/en/docs/ngx_core_module.html 사용법 #include 
    자세한 내용은 #을. 
    /etc/nginx/conf.d/*.conf 포함한다; 

    서버 { 
        80 default_server을 듣고; 
        루트는 / usr / share /의 nginx / html로; 

        # 기본 서버 블록에 대한 부하 구성 파일. 
        /etc/nginx/default.d/*.conf 포함한다; 

        위치 / { 
        proxy_pass 에 http : // 그림 ; 
        }
 
        error_page /404.html을 404; 
            위치 /40x.html = { 
        } 

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

    상류 PIC { 
                서버 172.26.200.89:8088 중량 = 5; 
                서버 172.26.200.89:8089 중량 = 5; 
    } 

}

구성 후 파일의 conf 저장

그런 다음 사전의 nginx를 시작합니다

고정 표시기 실행 --name mynginx -d -p 82:80 -v /usr/local/docker/nginx/conf/nginx.conf:/etc/nginx/nginx.conf -v / usr / 지방 / 고정 표시기 /의 nginx / 로그 :는 / var / log / nginx를 -d의 nginx

"2, nginx01 구성 및 시작"

/ usr / 지방 / 고정 표시기 / nginx01 / 폴더로 전환

실행

에서 mkdir -p conf의 HTML 로그

그런 다음 conf 폴더로 전환

정력 nginx.conf

사용자의 nginx; 
자동 worker_processes; 
의 error_log /var/log/nginx/error.log; 
PID는 /run/nginx.pid; 

#로드 동적 모듈. /usr/share/nginx/README.dynamic를 참조하십시오. 
포함은 / usr / 공유 / Nginx에 / 모듈 / * 의 .conf; 

이벤트 { 
    worker_connections 1024; 
} 

HTTP { 
    log_format 주 '$ REMOTE_ADDR - $의 REMOTE_USER [$ time_local] "$ 요청' ' 
                      '$ 상태 $의 body_bytes_sent을"$ HTTP_REFERER '' 
                      ' "$ HTTP_USER_AGENT" "$ HTTP_X_FORWARDED_FOR"'; 

    ACCESS_LOG /var/log/nginx/access.log 주요; 

    에 sendfile을; 
    에 tcp_nopush;
    keepalive_timeout 65; 
    2048 types_hash_max_size; 

    /etc/nginx/mime.types을 포함한다; 
    default_type 애플리케이션 / octet-stream을; 

    # /etc/nginx/conf.d 디렉토리에서 모듈 식 구성 파일을로드합니다. 
    # 참조 http://nginx.org/en/docs/ngx_core_module.html 사용법 #include 
    자세한 내용은 #을. 
    /etc/nginx/conf.d/*.conf 포함한다; 

    서버 { 
    
    8088을 듣고; 
    루트는 / usr / share /의 nginx / html로; 
        index.htm으로 index.html을 인덱스; 
    } 


}

그런 다음 구성 파일을 저장하고 종료

전환에 / usr / 지방 / 고정 표시기 / nginx01 / HTML / 폴더

정력 index.html을은, 쓰기 뭔가 간단 같은 다음

8088 포트의 nginx

그런 다음 고정 표시기 시작

고정 표시기 실행 --name mynginx01 -d -p 8088 : 8088 -v /usr/local/docker/nginx01/conf/nginx.conf:/etc/nginx/nginx.conf -v / usr / 지방 / 고정 표시기 / nginx01 / 로그 :는 / var / log / nginx를 -v / usr / 지방 / 고정 표시기 / nginx01 / HTML :는 / usr / share /의 nginx / html로 -d의 nginx

"세, nginx02 구성 및 시작"

/ usr / 지방 / 고정 표시기 / nginx02 / 폴더로 전환

실행

에서 mkdir -p conf의 HTML 로그

그런 다음 conf 폴더로 전환

정력 nginx.conf

사용자의 nginx; 
자동 worker_processes; 
의 error_log /var/log/nginx/error.log; 
PID는 /run/nginx.pid; 

#로드 동적 모듈. /usr/share/nginx/README.dynamic를 참조하십시오. 
포함은 / usr / 공유 / Nginx에 / 모듈 / * 의 .conf; 

이벤트 { 
    worker_connections 1024; 
} 

HTTP { 
    log_format 주 '$ REMOTE_ADDR - $의 REMOTE_USER [$ time_local] "$ 요청' ' 
                      '$ 상태 $의 body_bytes_sent을"$ HTTP_REFERER '' 
                      ' "$ HTTP_USER_AGENT" "$ HTTP_X_FORWARDED_FOR"'; 

    ACCESS_LOG /var/log/nginx/access.log 주요; 

    에 sendfile을; 
    에 tcp_nopush; 
    에 TCP_NODELAY;
    2048 types_hash_max_size; 

    /etc/nginx/mime.types을 포함한다; 
    default_type 애플리케이션 / octet-stream을; 

    # /etc/nginx/conf.d 디렉토리에서 모듈 식 구성 파일을로드합니다. 
    # http://nginx.org/en/docs/ngx_core_module.html 참조 사용법 #include 
    자세한 내용은 #을. 
    /etc/nginx/conf.d/*.conf 포함한다; 

    서버 { 
    
    8089을 듣고; 
    루트는 / usr / share /의 nginx / html로; 
        index.htm으로 index.html을 인덱스; 
    } 


}

그런 다음 구성 파일을 저장하고 종료

전환에 / usr / 지방 / 고정 표시기 / nginx02 / HTML / 폴더

정력 index.html을은, 쓰기 뭔가 간단 같은 다음

8089 포트의 nginx

그런 다음 고정 표시기 시작

고정 표시기 실행 --name mynginx02 -d -p 8089 : 8089 -v /usr/local/docker/nginx02/conf/nginx.conf:/etc/nginx/nginx.conf -v / usr / 지방 / 고정 표시기 / nginx02 / 로그 :는 / var / log / nginx를 -v / usr / 지방 / 고정 표시기 / nginx02 / HTML :는 / usr / share /의 nginx / html로 -d의 nginx

 

------------------------------- 라인 분할 ----------------- ------

이 시점에서, 전면과 두 개의 후면의 nginx는 이미, 우리는 테스트를 시작했다 nginx를

명령 줄을 실행

컬 127.0.0.1:82

도는 다음과 같습니다 :

 

 사용자는, 따라서 제 요청 8088 nginx에하기의 nginx에서 우리는 때문에 예압 정책은 각각 50 %임을 알 수 있고, 두 번째 요청이 8088를 8089의 세 번째로 전송되는 nginx에 8089 네번째. . . . . .

우리는 참조 용으로 만 사용하면 전체 텍스트를 읽어 주셔서 감사합니다.

 

 

 

추천

출처www.cnblogs.com/lukairui/p/12571782.html