내 호스트는 nginx를 배포하고 포트 80에 매핑하기 시작했습니다.
그런 다음 php7-fpm 이미지를 새 컨테이너로 가져와 포트 9000:9000 매핑을 시작했습니다.
호스트의 nginx를 컨테이너의 PHP와 어떻게 연결할 수 있나요? 답변 감사합니다.
10.07
외부 네트워크 IP에 접속하여 docker 컨테이너의 www 루트 디렉터리에 들어갔습니다(기본값은 /var/www/html)
내 호스트 호스트의 nginx 구성은 다음과 같습니다.
<code> ······· location / { root /var/www/XX; #宿主机的web应用所在目录 index index.html index.php; } ······· location ~ \.php$ { root /var/www/XX; #宿主机的web应用所在目录 fastcgi_pass 192.168.42.18:9000; #docker容器php-fpm分配的内网ip和端口 fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /var/www/html/$fastcgi_script_name; # /var/www/html 是php容器的页面存放目录 include /usr/local/nginx/conf/fastcgi_params; #宿主机nginx所在目录 } </code>
외부 네트워크가 /var/www/XX
디렉터리에 액세스하도록 허용하려면 어떻게 해야 하나요?내 호스트는 nginx를 배포하고 포트 80에 매핑하기 시작했습니다.
그런 다음 php7-fpm 이미지를 새 컨테이너로 가져와 포트 9000:9000 매핑을 시작했습니다.
호스트의 nginx를 컨테이너의 PHP와 어떻게 연결할 수 있나요? 답변 감사합니다.
10.07
외부 네트워크 IP에 접속하여 docker 컨테이너의 www 루트 디렉터리에 들어갔습니다(기본값은 /var/www/html)
내 호스트 호스트의 nginx 구성은 다음과 같습니다.
<code> ······· location / { root /var/www/XX; #宿主机的web应用所在目录 index index.html index.php; } ······· location ~ \.php$ { root /var/www/XX; #宿主机的web应用所在目录 fastcgi_pass 192.168.42.18:9000; #docker容器php-fpm分配的内网ip和端口 fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /var/www/html/$fastcgi_script_name; # /var/www/html 是php容器的页面存放目录 include /usr/local/nginx/conf/fastcgi_params; #宿主机nginx所在目录 } </code>
외부 네트워크가 /var/www/XX
디렉터리에 액세스하도록 허용하려면 어떻게 해야 하나요?
우선 컨테이너 간 연결은 IP나 -p 매핑 포트를 통하지 않고 --link 매개변수를 사용합니다.
두 번째로, PHP와 함께 Nginx를 사용하는 가장 좋은 방법은 두 컨테이너 모두 동일한 데이터 볼륨(즉, 코드 디렉터리)을 마운트하는 것입니다.
Docker의 기본 사용법을 숙지하는 것이 좋습니다.
https://docs.docker.com/
구성:
<code>fastcgi_param SCRIPT_FILENAME /var/www/html/$fastcgi_script_name; </code>
다음으로 변경됨:
<code>fastcgi_param SCRIPT_FILENAME /var/www/XX/$fastcgi_script_name;</code>
해 보세요;
nginx에 직접 액세스하여 액세스할 수 있으며, nginx가 요청을 전달합니다.