首页 > 解决方案 > PHP-FPM 在 docker-compose 中不起作用(未找到 404)

问题描述

/etc/nginx/conf.d/default.conf

server {
    server_name site.com; # для заголовка Host
    listen 80; # слушаем 443 порт
    root /code; # Папка с сайтом
    index index.php; # страница по умолчанию

    access_log /var/log/access.log; # путь куда писать логи
    error_log /var/log/error.log; # аналогично

    location /
    {
        try_files $uri =404;
    }

    location ~ \.php$ {
        fastcgi_pass   php:9000;
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
        include        fastcgi_params;
    }


}

码头工人-compose.yml

version: "3.4"

services:
    nginx:
        image: nginx
        container_name: nginx
        ports:
            - "80:80"
        volumes:
          - ./code:/code
        links:
            - php
    php:
        image: php:7.4-fpm
        container_name: php-fpm
        volumes:
          - ./code:/code

我已经检查了 php-fpm 是否可以从 php:9000 地址的 nginx 容器中获得。静态文件工作正常,但带有代码的 index.php 不起作用。

标签: phpdockernginxdocker-compose

解决方案


推荐阅读