Проблемы с Nginx - PHP-FPM (FastCGI) - Администратор (FastCGI) в Docker - PullRequest
0 голосов
/ 27 февраля 2019

У меня есть проект, который использует Nginx, PHP-FPM, MySQL и Adminer.В настоящее время у меня есть docker-compose.yml файл со следующим содержимым:

version: '3.7'
services:
    nginx:
        image: nginx:1.15.8
        ports:
            - 8100:80
        volumes:
            - ./:/var/wwww
            - ./docker/nginx/nginx.conf:/etc/nginx/nginx.conf
        working_dir: /var/wwww
        restart: always
    php:
        build:
            context: ./docker
            dockerfile: php.docker
        volumes:
            - ./:/var/www
        working_dir: /var/www
    mysql:
        image: mysql:8.0.15
        command: --default-authentication-plugin=mysql_native_password
        volumes:
            - ./storage/docker/mysql:/var/lib/mysql
        env_file: docker/mysql/.env
        restart: always
    adminer:
        image: adminer:4.7.1-fastcgi
        ports:
            - 9000:9000
        restart: always

Все собрано и смонтировано без каких-либо ошибок, и конфигурация Nginx также была успешно применена (я проверил это в контейнере).Файл конфигурации Nginx:

worker_processes 2;

events {
    worker_connections 1024;
}

http {
    access_log off;
    error_log /var/log/nginx/error.log crit;
    index index.html index.php;
    keepalive_timeout 30;
    reset_timedout_connection on;
    sendfile on;
    tcp_nopush on;
    gzip on;
    gzip_proxied any;
    gzip_types text/plain text/css text/xml text/javascript application/x-javascript application/xml;
    gzip_vary on;
    gzip_disable "msie6";

    server {
        listen 80;
        listen [::]:80;
        server_name api.uparty.test www.api.uparty.test;
        root /var/www/public;

        location / {
            try_files $uri $uri/ =404;
        }

        location ~ \.php$ {
            try_files $uri =404;
            fastcgi_split_path_info ^(.+\.php)(/.+)$;
            fastcgi_pass php:9000;
            fastcgi_index index.php;
            include fastcgi_params;
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
            fastcgi_param PATH_INFO $fastcgi_path_info;
        }

        location ~ ^/adminer(/.*$|$) {
            fastcgi_index index.php;
            include /etc/nginx/fastcgi_params;
            fastcgi_param SCRIPT_FILENAME /var/www/html/index.php;
            fastcgi_pass adminer:9000;
        }
    }
}

Однако, когда я получаю доступ к своему api.uparty.test:8100, я получаю 404 Ошибка , но при доступе к api.uparty.test:8100/adminer отображается панель администратора.Чего мне не хватает, чтобы мой основной домен api.uparty.test:8100 работал правильно?

...