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
我已经设置了一个 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