Docker NGiNX/PHP 服务未提供 PHP

Docker NGiNX/PHP services not serving PHP

我已经设置了一个 docker-compose.yml 文件来启动 NGiNX 服务器并提供 PHP 内容,问题是当我访问 localhost:8080 时它一直显示默认的 NGiNX 欢迎页面.

这是我的 docker-compose.yml

version: "3"
services:
  web: 
    image: nginx:latest
    ports:
      - "8080:80"
    volumes:
      - ./public:/public
      - ./site.conf:/etc/nginx/conf.d/site.conf
    links:
      - php
  php:
    image: php:8-fpm
    volumes:
      - ./public:/public

这是我的 site.conf

server {
    index index.php index.html;
    error_log  /var/log/nginx/error.log;
    access_log /var/log/nginx/access.log;
    root /public;

    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;
    }
}

如果 public 文件夹中有 index.php 文件,只需将 docker-compose.yml 更改为:

volumes:
  - ./public:/public
  - ./site.conf:/etc/nginx/conf.d/default.conf