Docker 용기 에 Nginx 부하 균형 사용 (소프트 부하)

6299 단어 Nginx
글 목록
  • 부하 균형 이란 무엇 인가
  • Nginx 부하 균형 실현
  • Nginx 부하 균형 설정
  • 관련 설정 설명
  • docker - compose. yml 설정
  • 부하 균형 이란 무엇 인가
    부하 균형 은 기 존의 네트워크 구 조 를 바탕 으로 저렴 하고 효과 적 이 며 투명 한 방법 으로 네트워크 설비 와 서버 의 대역 폭 을 확대 하고 스루풋 을 증가 하 며 네트워크 데이터 처리 능력 을 강화 하 며 네트워크 의 유연성 과 가용성 을 향상 시킨다.
    부하 균형, 영문 이름 은 Load Balance 로 여러 작업 단원 에 나 누 어 실행 하 는 것 을 의미한다. 예 를 들 어 웹 서버, FTP 서버, 기업 관건 응용 서버 와 기타 관건 적 인 임무 서버 등 이다.
    Nginx 부하 균형 실현
  • nginx 는 부하 균형 서버 로 서 사용자 가 먼저 nginx 에 도착 한 다음 에 nginx 가 부하 설정 에 따라 tomcat 서버
  • 로 전송 할 것 을 요청 합 니 다.
  • nginx 부하 균형 서버: 192.168.37.202: 81
  • tomcat 1 서버: 192.168.37.202: 9090
  • tomcat 2 서버: 192.168.37.202: 9091
  • Nginx 부하 균형 설정
    디 렉 터 리 에 있 는 /usr/local/docker/nginx/conf 프로필 수정:
    worker_processes  1;
    
    events {
        worker_connections  1024;
    }
    
    http {
        include       mime.types;
        default_type  application/octet-stream;
    
        sendfile        on;
        
        keepalive_timeout  66;
        upstream myapp1{
        server 192.168.37.202:9090 weight=10;
        server 192.168.37.202:9091 weight=10;
    }
        server {
            listen       80;
            server_name  localhost;
            location / {
                proxy_pass http://myapp1;
                index  index.html index.htm;
            }
    
        }
    }
    

    관련 설정 설명
    #           Ip      
    upstream myServer {
        server 127.0.0.1:9090 down;
        server 127.0.0.1:8080 weight=2;
        server 127.0.0.1:6060;
        server 127.0.0.1:7070 backup;
    }
    

    부하 가 필요 한 Server 노드 에 추가
    proxy_pass http://myServer;
    
  • upstream: 모든 장치 의 상태:
  • down: 현재 server 가 부하 에 잠시 참여 하지 않 음
  • weight: 기본 값 은 1 weight 가 클 수록 부하 의 가중치 가 커진다.
  • max_fails: 요청 실패 횟수 를 기본적으로 1 로 허용 합 니 다. 최대 횟수 를 초과 하면 proxy 로 돌아 갑 니 다.next_upstream 모듈 정의 오류
  • fail_timeout:max_fails 회 실패 후 일시 정지 시간 입 니 다.
  • backup: 다른 모든 비 backup 기기 다운 이나 바 쁠 때 backup 기 계 를 요청 합 니 다.그래서 이 기계 의 압력 이 가장 가 벼 울 것 이다
  • docker - compose. yml 설정
    version: '2.0'
    services:
      nginx:
        restart: always
        image: nginx
        container_name: nginx
        ports:
          - 81:80
        volumes:
          - ./conf/nginx.conf:/etc/nginx/nginx.conf
          - ./wwwroot:/usr/share/nginx/wwwroot
    

    시작 nginx.conf

    좋은 웹페이지 즐겨찾기