簡體   English   中英

Nginx + PHP-FPM:PHP-FPM 容器的 5000 端口連接被拒絕,而 9000 端口沒有問題

[英]Nginx + PHP-FPM: Connection refused on port 5000 of PHP-FPM container while port 9000 is no problem

我正在 Docker 中訓練自己,我正在嘗試設置一個 Nginx + PHP FPM 環境,我最終想在 ECS 上托管(僅用於培訓目的)。 PHP 環境有一個基本的 Symfony 4 服務正在運行(只是返回一個 json,沒什么特別的)。 然而,問題在於我的 Nginx 容器。 Something really strange happens as I have exposed the port 5000 on the PHP container in my Dockerfile for it but my Nginx container is giving me bad gateway errors when trying to access the PHP container at this port. 如果我將 Nginx 容器用於 fastcgi_pass 的端口更改為 9000,同時不更改 PHP 容器的暴露端口(在 Dockerfile 中將其保留為 5000),一切都很好,設置正常。 有沒有人可以給我一些提示,為什么會這樣?

我檢查了docker ps以檢查端口,實際上 PHP 容器上的端口 5000 和 9000 都打開了,但似乎只有端口 9000 可用。

Nginx 配置文件

server {
  listen 80;
  server_name localhost;
  root /var/www/symfony/public;
  index index.php;

  access_log /var/log/access.log;
  error_log /var/log/error.log;

  location ~ \.php$ {
    include fastcgi_params;
    fastcgi_param HTTPS off;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    fastcgi_pass symfony:9000;
    fastcgi_index index.php;
  }
}

Symfony dockerfile(縮短)

FROM php:7.2-fpm
WORKDIR /var/www/symfony
... (installation things)
COPY . /var/www/symfony
EXPOSE 5000

Docker-compose

version: "3.7"
services:
  symfony:
    container_name: symfony
    build: ./symfony
    volumes:
      - ./symfony:/var/www/symfony
      - ./logs/symfony:/var/www/symfony/var/logs
    networks:
      - api
  nginx:
    container_name: nginx
    build: ./nginx
    ports:
      - 80:80
    volumes:
      - ./symfony:/var/www/symfony
      - ./logs/nginx:/var/log/nginx
    networks:
      - api
    depends_on:
      - symfony
volumes:
  symfony:
networks:
  api:
    driver: "bridge"

Docker ps 結果

PORTS                NAMES
0.0.0.0:80->80/tcp   nginx
5000/tcp, 9000/tcp   symfony

我希望能夠將 symfony:9000 更改為 symfony:5000 並能夠從 PHP 容器中獲得結果。

很高興見到你

在官方 docker php 映像中,有 /usr/local/etc/php-fpm.d/zz-docker.conf... 很快 zz-docker.conf 配置文件將 'listen="what you want"' 更改為 '聽= 9000'。 因此,您需要更改(或刪除)zz-docker.conf。

相關評論: https://github.com/docker-library/php/issues/241

希望解決您的問題。 謝謝你。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM