>  기사  >  백엔드 개발  >  Docker nginx 다중 도메인 이름 구성 문제

Docker nginx 다중 도메인 이름 구성 문제

WBOY
WBOY원래의
2016-12-05 13:44:212081검색

Docker의 공식 nginx 이미지 nginx.conf 구성을 구성하려는 시도가 실패했습니다. 저는 이에 대해 거의 알지 못하며 기본적으로 튜토리얼에 의존합니다.
제가 시도한 과정은 다음과 같습니다.
YBa

<code>docker run -d   --name YBa --restart=always  -v /Storage/Volumes/App/YBa:/usr/src/myapp php
</code>

YBB

<code>docker run -d   --name YBa --restart=always  -v /Storage/Volumes/App/YBb:/usr/src/myapp php
</code>

엔진엑스

<code>docker run -d -p 80:80 --name Nginx  --link YBa:yba  --link YBb:ybb  -v /Storage/Volumes/Services/Nginx/Conf/nginx.conf/nginx.conf:/etc/nginx/nginx.conf:ro --restart=always nginx</code>

Nginx.conf

<code>    user nobody nogroup;
events { 

  worker_connections 512; 
}
http { 

  upstream yba {
    server yba; 

  }
  upstream ybb {
    server ybb; 

  }
  server {
    listen *:80; 

    server_name http://app1.com; 
    location / { 

      proxy_pass http://yba/; 

      proxy_set_header   X-Real_IP $remote_addr;
      proxy_set_header   Host      $http_host;
    }
    
  }
}
  server {
    listen *:80; 

    server_name http://app2.com; 
    location / { 

      proxy_pass http://ybb/; 

      proxy_set_header   X-Real_IP $remote_addr;
      proxy_set_header   Host      $http_host;
    }
    
  }
} 
         </code>

이제 문제는 단일 구성 파일을 통해 여러 도메인을 여러 컨테이너를 가리키는 방법입니다
다른 해결 방법이 있는지 알고 싶습니다
단일 구성 파일의 여러 하위 디렉터리에 대해 여러 기본 도메인 이름을 가리키는 방법 컨테이너

답글 내용:

Docker의 공식 nginx 이미지 nginx.conf 구성을 구성하려는 시도가 실패했습니다. 저는 이에 대해 거의 알지 못하며 기본적으로 튜토리얼에 의존합니다.
제가 시도한 과정은 다음과 같습니다.
YBa

<code>docker run -d   --name YBa --restart=always  -v /Storage/Volumes/App/YBa:/usr/src/myapp php
</code>

YBB

<code>docker run -d   --name YBa --restart=always  -v /Storage/Volumes/App/YBb:/usr/src/myapp php
</code>

엔진엑스

<code>docker run -d -p 80:80 --name Nginx  --link YBa:yba  --link YBb:ybb  -v /Storage/Volumes/Services/Nginx/Conf/nginx.conf/nginx.conf:/etc/nginx/nginx.conf:ro --restart=always nginx</code>

Nginx.conf

<code>    user nobody nogroup;
events { 

  worker_connections 512; 
}
http { 

  upstream yba {
    server yba; 

  }
  upstream ybb {
    server ybb; 

  }
  server {
    listen *:80; 

    server_name http://app1.com; 
    location / { 

      proxy_pass http://yba/; 

      proxy_set_header   X-Real_IP $remote_addr;
      proxy_set_header   Host      $http_host;
    }
    
  }
}
  server {
    listen *:80; 

    server_name http://app2.com; 
    location / { 

      proxy_pass http://ybb/; 

      proxy_set_header   X-Real_IP $remote_addr;
      proxy_set_header   Host      $http_host;
    }
    
  }
} 
         </code>

이제 문제는 단일 구성 파일을 통해 여러 도메인을 여러 컨테이너를 가리키는 방법입니다
다른 해결 방법이 있는지 알고 싶습니다
단일 구성 파일의 여러 하위 디렉터리에 대해 여러 기본 도메인 이름을 가리키는 방법 컨테이너

conf/에서 로컬로 해당 구성 파일(예: conf/api.app2.com.conf)을 구성하고 컨테이너 생성 시 이를 컨테이너에 추가할 수 있습니다. dockerfile 코드는 다음과 같습니다

<code>From nginx:1.9
MAINTAINER terry.dawu@gmail.com
ADD nginx.conf /etc/nginx/nginx.conf
ADD conf/* /etc/nginx/conf.d/
RUN mkdir /opt/www && mkdir /opt/log
RUN chmod -R 755 /opt/log /opt/www
VOLUME ["/opt"]</code>

  1. 로컬 머신의 다른 포트를 가리키는 Nginx 프록시 배포

  2. 서버의 다른 포트를 가리키는 CDN 배포

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