2016-09-25 160 views
1

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

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" 

回答

2

你改变港口码头工人是出版和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。