nginx + docker 부하 균형

2978 단어 nginxNginx
실험: 한 서버 에 nginx 를 설치 하고 이 서버 에 두 개의 docker 프로 세 스 를 사용 하여 부하 균형 1, nginx 를 설치 합 니 다.
# rpm -vih http://nginx.org/packages/rhel/7/x86_64/RPMS/nginx-1.16.0-1.el7.ngx.x86_64.rpm

2, 설치 docker 바 이 너 리 패키지 다운로드 주소:https://download.docker.com/linux/static/stable/x86_64/
#tar zxvf docker-18.09.6.tgz
mkdir /etc/docker
# mv docker/* /usr/bin
# mkdir /etc/docker
# mv daemon.json /etc/docker
# mv docker.service /usr/lib/systemd/system
# systemctl start docker
# systemctl enable docker

2.1daemon. json 파일 내용
 {
    "registry-mirrors": ["http://bc437cce.m.daocloud.io"]
}

2.2docker. service 파일 내용
 [Unit]
Description=Docker Application Container Engine
Documentation=https://docs.docker.com
After=network-online.target firewalld.service containerd.service
Wants=network-online.target

[Service]
Type=notify
ExecStart=/usr/bin/dockerd
ExecReload=/bin/kill -s HUP $MAINPID
TimeoutSec=0
RestartSec=2
Restart=always
StartLimitBurst=3
StartLimitInterval=60s
LimitNOFILE=infinity
LimitNPROC=infinity
LimitCORE=infinity
TasksMax=infinity
Delegate=yes
KillMode=process

[Install]
WantedBy=multi-user.target

tomcat 의 docker 미 러 를 끌 어 내 고 두 개의 docker 프로 세 스 를 시작 합 니 다.
# doker pull tomcat
#docker run --name tomcat1 -p 8081:8080 -v /data/tomcat1/webapps1:/usr/local/tomcat/webapps -d tomcat
#docker run --name tomcat2 -p 8082:8080 -v /data/tomcat1/webapps1:/usr/local/tomcat/webapps -d tomcat
#docker ps -a
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS                    NAMES
284264b13148        tomcat              "catalina.sh run"   2 hours ago         Up 2 hours          0.0.0.0:8081->8080/tcp   tomcat1
a96d092ce945        tomcat              "catalina.sh run"   17 hours ago        Up 2 hours          0.0.0.0:8082->8080/tcp   tomcat

메모: pull 에서 내 린 tomcat 의 webapps 디 렉 터 리 는 빈 디 렉 터 리 입 니 다. index. html 파일 내용 을 사용자 정의 해 야 합 니 다. 그렇지 않 으 면 방문 이 잘못 되 었 습 니 다. 404 제 가 각각 작성 한 내용 은 tomcat 1 과 tomcat 2 입 니 다.
nginx 를 nginx 프로필 디 렉 터 리 에 설정 하고 zs. conf 파일 을 새로 만 듭 니 다. 파일 이름 은 사용자 정의 입 니 다.아래 내용 을 첨가 하면 된다
# cd /etc/nginx/conf.d/
vi zs.conf
upstream localhost{
        server 192.168.100.216:8081 weight=1;
        server 192.168.100.216:8082 weight=1;
        }
server {
    listen       80;
    server_name  localhost;

    location / {
        root   html;
        index  index.html index.htm;
        proxy_pass   http://localhost;
       }
}

upstream 뒤의 이름 은 proxypass 뒤의 이름 이 일치 합 니 다.server_name 은 로 컬 에 host 를 추가 하여 IP 를 임의의 도 메 인 이름 으로 해석 할 수 있 습 니 다.이렇게 하 는 목적 은 관리 하기 편리 하고 하나의 파일 이 하나의 응용 에 대응 하 는 것 이다.다른 응용 프로그램의 부하 균형 을 추가 해 야 할 때 이 디 렉 터 리 에. conf 를 직접 새로 만 듭 니 다.어떤 애플 리 케 이 션 의 부 하 를 멈 추 려 면 이. conf 를 직접 삭제 하면 됩 니 다.
nginx \ # systemctl 다시 시작 nginx
브 라 우 저 접근http://192.168.100.216

좋은 웹페이지 즐겨찾기