現象 502 Bad Gateway
Dockerで、2つのコンテナを用意しました
- nginx:stable
- CentOS8にRemi repoのPHP-FPM7.3を入れたもの
docker-compose up -d --build でコンテナを起動し
ブラウザからアクセスすると 502 Bad Gateway となります。
docker-compose logs で以下のlogが表示されます。
recv() failed (104: Connection reset by peer) while reading response header from upstream, client: 192.168.96.1, server: , request: "GET /favicon.ico HTTP/1.1", upstream: "fastcgi://192.168.96.2:9000", host: "localhost", referrer: "http://localhost/"
PHP-FPMから返事がうまく返って来ない。
何かお気づきの点がありましたら、ご指摘ください。
環境
HostPC Win10Pro
Docker desktop 2.2.0.5 stable
ファイル
[dir]
|- docker-compose.yml
|- Dockerfile
|- default.conf
`- index.php
- docker-compose.yml
yaml
1version: '3' 2services: 3 nginx: 4 container_name: test-web 5 image: nginx:stable 6 volumes: 7 - ./default.conf:/etc/nginx/conf.d/default.conf:ro 8 - ./:/var/www/html 9 ports: 10 - "80:80" 11 environment: 12 TZ: JST-9 13 depends_on: 14 - php-fpm 15 16 php-fpm: 17 container_name: test-fpm 18 image: test-fpm 19 build: 20 context: ./ 21 dockerfile: Dockerfile 22 volumes: 23 - ./:/var/www/html
- Dockerfile
Dockerfile
1FROM centos:8 2 3RUN dnf -y install epel-release && \ 4 dnf -y install https://rpms.remirepo.net/enterprise/remi-release-8.rpm && \ 5 cp /usr/share/zoneinfo/Asia/Tokyo /etc/localtime && \ 6 dnf module reset php && \ 7 dnf -y module install php:remi-7.3 && \ 8 dnf -y install php-fpm && \ 9 mkdir /run/php-fpm && \ 10 touch /run/php-fpm/php-fpm.pid && \ 11 sed -i -e "s|user = apache|user = nginx|" /etc/php-fpm.d/www.conf && \ 12 sed -i -e "s|group = apache|group = nginx|" /etc/php-fpm.d/www.conf && \ 13 sed -i -e "s|listen = /run/php-fpm/www.sock|listen = test-fpm:9000|" /etc/php-fpm.d/www.conf && \ 14 dnf -y update && \ 15 dnf clean all 16 17CMD ["/usr/sbin/php-fpm", "-F"]
- default.conf
conf
1server { 2 listen 80; 3 root /var/www/html/; 4 index index.html index.htm index.php; 5 6 access_log /var/log/nginx/access.log; 7 error_log /var/log/nginx/error.log; 8 9 location / { 10 try_files $uri $uri/ /index.php$is_args$query_string; 11 } 12 location ~ .php$ { 13 fastcgi_split_path_info ^(.+.php)(/.+)$; 14 fastcgi_pass test-fpm:9000; 15 fastcgi_index index.php; 16 include fastcgi_params; 17 fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; 18 fastcgi_param PATH_INFO $fastcgi_path_info; 19 fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info; 20 } 21}
- index.php
php
1<?php echo phpinfo(); ?>
他に試したこと
標準的な、nginx:stable + php:7-fpm
当然これは問題なく動作しますが、前述の問題点が見つけられなくて詰まっています。
- docker-compose.yml
yaml
1version: '3' 2services: 3 nginx: 4 container_name: std-web 5 image: nginx:stable 6 volumes: 7 - ./default.conf:/etc/nginx/conf.d/default.conf:ro 8 - ./:/var/www/html 9 ports: 10 - "80:80" 11 environment: 12 TZ: JST-9 13 depends_on: 14 - php-fpm 15 16 php-fpm: 17 container_name: std-php 18 image: php:7-fpm 19 volumes: 20 - ./:/var/www/html
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/05/09 10:44 編集