我试图改变nginx.conf和docker-compose中的端口号。将9001改为9000。但是,当我运行docker-compose up时,它显示502个坏网关。为什么呢?我被锁定只能使用端口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"
你改变了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。