2016-09-25 144 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。