Heim > Backend-Entwicklung > PHP-Tutorial > Wie hängt der Nginx des Hosts mit dem PHP im Docker-Container zusammen?

Wie hängt der Nginx des Hosts mit dem PHP im Docker-Container zusammen?

WBOY
Freigeben: 2016-10-10 11:55:56
Original
3020 Leute haben es durchsucht

Mein Host hat Nginx bereitgestellt und mit der Zuordnung zu Port 80 begonnen,
Dann habe ich ein Image von php7-fpm in einen neuen Container gezogen und mit der Zuordnung von Port 9000:9000 begonnen,

Wie kann ich Nginx auf dem Host mit PHP im Container verknüpfen? Vielen Dank für die Antwort.


10.07
Ich habe auf die externe Netzwerk-IP zugegriffen und das www-Stammverzeichnis im Docker-Container eingegeben (Standard ist /var/www/html)
Mein Host Die Nginx-Konfiguration des Hosts lautet wie folgt:

<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>
Nach dem Login kopieren
Nach dem Login kopieren

Wie kann ich externen Netzwerken den Zugriff auf das Verzeichnis /var/www/XX

ermöglichen?

Antwortinhalt:

Mein Host hat Nginx bereitgestellt und mit der Zuordnung zu Port 80 begonnen,
Dann habe ich ein Image von php7-fpm in einen neuen Container gezogen und mit der Zuordnung von Port 9000:9000 begonnen,

Wie kann ich Nginx auf dem Host mit PHP im Container verknüpfen? Vielen Dank für die Antwort.


10.07
Ich habe auf die externe Netzwerk-IP zugegriffen und das www-Stammverzeichnis im Docker-Container eingegeben (Standard ist /var/www/html)
Mein Host Die Nginx-Konfiguration des Hosts lautet wie folgt:

<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>
Nach dem Login kopieren
Nach dem Login kopieren

Wie kann ich externen Netzwerken den Zugriff auf das Verzeichnis /var/www/XX

ermöglichen?

Zuallererst verwendet die Verbindung zwischen Containern den Parameter --link, nicht über IP oder über den Mapping-Port -p.
Zweitens besteht die beste Vorgehensweise für die Verwendung von Nginx mit PHP darin, dass beide Container dasselbe Datenvolumen (d. h. das Codeverzeichnis) bereitstellen.

Es wird empfohlen, sich zunächst mit der grundlegenden Verwendung von Docker vertraut zu machen.
https://docs.docker.com/

In Ihrer Konfiguration:

<code>fastcgi_param  SCRIPT_FILENAME  /var/www/html/$fastcgi_script_name;
</code>
Nach dem Login kopieren

geändert in:

<code>fastcgi_param  SCRIPT_FILENAME  /var/www/XX/$fastcgi_script_name;</code>
Nach dem Login kopieren

Probieren Sie es aus;

Sie können darauf zugreifen, indem Sie direkt auf Nginx zugreifen, und Nginx leitet die Anfrage weiter.

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage