我试图将nginx.conf和docker-compose.yml中的端口号更改为9001而不是9000.但是,当我运行docker-compose时,它会显示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
}
搬运工-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"
答案 0 :(得分:3)
您已经更改了Docker正在发布的端口,并且端口Nginx正在转发到PHP-FPM,但您还没有更改PHP-FPM正在侦听的端口。端口9001上没有任何内容可以响应Nginx请求,因此502
。
如果您想这样做,请更改listen
文件中的php-fpm.conf
选项:
listen = 127.0.0.1:9001
但你实际上并不需要。如果您希望公开端口9001上的服务可用,您可以让它在容器内部监听端口9000并只更改发布:
ports:
- "9001:9000"
这会将端口9000从容器发布到主机上的端口9001,因此您可以在外部使用端口9001。