繁体   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