página de status do php-fpm não encontrada no docker

página de status do php-fpm não encontrada no docker

Tenho dois contêineres docker para php-fpm e nginx, executo-os com o arquivo docker-compose.yml, mas tento configurar a página de status do meu php-fpm e ela não foi encontrada.

eu acessohttp://localhost/statusurl e mostra a mensagem Arquivo não encontrado.

tentei muitas configurações mas não funciona.

minha árvore de diretórios é:

C:.
│   docker-compose.yml
├───app
│       index.php
├───fpmConf
│       www.conf
├───nginxConf
│       default.conf
└───phpConf
        php.ini

meu arquivo docker-compose.yml é:

version: '3'
services:

  php:
    image: php:7.2-fpm
    container_name: php_app
    restart: always
    environment:
      TZ: America/Mexico_City
    ports:
      - 9000:9000
    volumes:
      - ./app:/var/www/html
      - ./phpConf/php.ini:/usr/local/etc/php/conf.d/custom.ini
    tty: true

  nginx:
    image: nginx:latest
    container_name: nginx_proxy
    restart: always
    environment:
      TZ: America/Mexico_City
    ports:
      - 80:80
    links:
      - php
    volumes:
      - ./app:/var/www/html
      - ./nginxConf:/etc/nginx/conf.d
      - ./fpmConf/www.conf:/etc/php-fpm.d/www.conf
    depends_on:
      - php
    tty: true

meu arquivo www.conf é:

user = www
listen = php:9000

pm = ondemand
pm.max_children = 50
pm.max_requests = 500
pm.process_idle_timeout = 10s
pm.status_path = /status

ping.path = /ping

slowlog = /data/logs/php-fpm-slow.log
request_slowlog_timeout = 60
catch_workers_output = yes

env[TMPDIR] = /data/tmp/php

include = /data/conf/php-fpm-www-*.conf

meu arquivo default.conf é:

upstream php-upstream {
    server php:9000;
}

server {
    server_tokens off; 

    charset utf-8;
    client_max_body_size 128M;

    proxy_buffer_size   128k;
    proxy_buffers   4 256k;
    proxy_busy_buffers_size   256k;

    listen 80;
    server_name localhost;


    # set caching header for static files
    location ~* \.(jpg|jpeg|gif|png|css|js|ico|svg|ttf|webp)$ {
         access_log          off;
         log_not_found       off;
         expires             30d;
    }

    root /var/www/html;
    index index.php;

    location / {

            try_files $uri $uri/ /index.php$is_args$args;

            location ~ \.php$ {
                fastcgi_split_path_info ^(.+?\.php)(/.*)$;
                if (!-f $document_root$fastcgi_script_name) {
                return 404;
            }

            include fastcgi_params;
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
            fastcgi_param PATH_INFO $fastcgi_path_info;
            fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;
            fastcgi_buffers 16 16k;
            fastcgi_buffer_size 32k;
            fastcgi_connect_timeout 300;
            fastcgi_send_timeout 300;
            fastcgi_read_timeout 300;
            fastcgi_pass php:9000;
            fastcgi_index index.php;
            fastcgi_pass_header Set-Cookie;
            fastcgi_pass_header Cookie;
            fastcgi_ignore_headers Cache-Control Expires Set-Cookie;

        }
    }

    location /status {
        access_log off;
        include fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_pass php-upstream;
        fastcgi_index status.html;
    }


}

meu arquivo php.ini é:

date.timezone = "America/Mexico_City"

default_charset = "utf-8";
mbstring.internal_encoding=utf-8;
mbstring.http_output=UTF-8;
mbstring.encoding_translation=On;

session.use_cookies = 1
session.name = PHPSESSID
session.cookie_lifetime = 0
session.cookie_path = /
session.cookie_domain = alocalhost
session.serialize_handler = php

session.gc_maxlifetime = 86400
max_input_vars = 1000000

Responder1

Resolvi copiar do contêiner o arquivo www.conf para o meu host:

docker cp -a php_app:/usr/local/etc/php-fpm.d/www.conf ./www.conf

Então eu descomento esta linha e compartilho este novo arquivo www.conf com o docker:

pm.status_path = /status

Este é meu novo docker-compose.yml com o novo volume com www.conf./status/www.conf:/usr/local/etc/php-fpm.d/www.conf:

version: '3'
services:

  php:
    image: php:7.2-fpm
    container_name: php_app
    restart: always
    environment:
      TZ: America/Mexico_City
    ports:
      - 9000:9000
    volumes:
      - ./app:/var/www/html
      - ./phpConf/php.ini:/usr/local/etc/php/conf.d/custom.ini
      - ./status/www.conf:/usr/local/etc/php-fpm.d/www.conf
    tty: true

  nginx:
    image: nginx:latest
    container_name: nginx_proxy
    restart: always
    environment:
      TZ: America/Mexico_City
    ports:
      - 80:80
    links:
      - php
    volumes:
      - ./app:/var/www/html
      - ./nginxConf:/etc/nginx/conf.d
      - ./fpmConf/www.conf:/etc/php-fpm.d/www.conf
    depends_on:
      - php
    tty: true

informação relacionada