gpt4 book ai didi

php - docker-compose、caddy 和 php-fpm 的基本配置

转载 作者:行者123 更新时间:2023-12-03 07:58:25 57 4
gpt4 key购买 nike

我正在尝试在 docker-compose 上使用 caddy 和 php-fpm 构建基本配置。问题是,当我尝试访问我的 index.php 文件时,收到“404 文件未找到”。这是我的配置。

docker-compose.yml

version: "3.8"

services:
caddy:
image: caddy:alpine
ports:
- "80:80"
- "443:443"
- "443:443/udp"
volumes:
- $PWD/Caddyfile:/etc/caddy/Caddyfile
- $PWD/www:/srv/www
- $PWD/caddy/data:/data
- $PWD/caddy/config:/config
- $PWD/caddy/log:/var/log
depends_on:
- app
app:
image: php:fpm-alpine
ports:
- "9000:9000"
volumes:
- "$PWD/www:/var/www/html"

球童文件

localhost:80 {
root * /srv/www
php_fastcgi app:9000
file_server
}

最后我有一个包含 index.phptest.htmlwww 文件夹 - http://localhost/test.html 有效,但是 http://localhost/index.php 给了我一个 404。

我做错了什么?

编辑:这是我尝试过的:

  • 我检查了是否可以从一个容器 ping 通另一个容器
  • 端口 9000 在 php 容器上有效打开

看起来 php 文件没有安装在 php 容器内的正确位置,但 /var/www/html 是工作目录。

我不知道接下来该去哪里解决此问题。

最佳答案

终于找到答案了!

php-fpm 需要文件的绝对路径,因此您必须在两个容器中具有相同的路径,或者在 php_fastcgi block 内添加 root 指令。

localhost:80 {
root * /srv/www
encode gzip
php_fastcgi php:9000 {
root /var/www/html
}
file_server
log
}

关于php - docker-compose、caddy 和 php-fpm 的基本配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/75307447/

57 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com