【问题标题】:docker nginx 502 bad gatewaydocker nginx 502 网关错误
【发布时间】:2017-02-03 00:38:42
【问题描述】:

我试图将 nginx.conf 和 docker-compose.yml 中的端口号更改为 9001 而不是 9000。但是,当我运行 docker-compose up 时,它显示 502 Bad Gateway。这是为什么?我是否被锁定只能使用端口 9000?

nginx.conf

location /index.php {
      include fastcgi_params;
      fastcgi_connect_timeout 10s;
      fastcgi_read_timeout 10s;
      fastcgi_buffers 256 4k;
      fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
      fastcgi_pass php:9000; <-- Changing this to 9001
  }

docker-compose.yml

php:
  build: images/php
  volumes:
    - ./images/php/app:/app
  working_dir: /app/public
  command: php-fpm
  links:
    - db
    - cache
  ports:
    - "9000:9000" <-- Changing this to "9001:9001"

【问题讨论】:

    标签: php nginx docker server


    【解决方案1】:

    您更改了 Docker 发布的端口,以及 Nginx 中继到 PHP-FPM 的端口,但您没有更改 PHP-FPM 正在侦听的端口。端口 9001 上没有任何东西可以响应 Nginx 请求,因此是 502

    如果您想这样做,请更改 php-fpm.conf 文件中的 listen 选项:

    listen = 127.0.0.1:9001
    

    但你实际上并不需要。如果您希望该服务在 9001 端口上公开可用,您可以让它在容器内部侦听 9000 端口并更改发布:

    ports:
      - "9001:9000"
    

    这会将容器的 9000 端口发布到主机上的 9001 端口,因此您可以在外部使用 9001 端口。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-05-14
      • 2019-06-05
      • 2015-08-10
      • 2021-04-09
      • 1970-01-01
      • 2021-11-19
      • 2012-09-25
      • 2014-12-07
      相关资源
      最近更新 更多