使用 Podman 的 Nginx + PHP-FPM 容器无法链接

问题描述 投票:0回答:1

我使用 Podman 和 Podman-Compose 使用 openSUSE Tumbleweed 映像创建 Nginx 和 PHP-FPM。

Nginx 容器文件和 PHP-FPM 容器文件的容器文件如下所示。


此外,使用 podman-compose 命令运行这些容器文件。

podman-compose -f ./podman-compose.yml up -d

podman-compose.yml 文件


此时如果查看Nginx容器和PHP-FPM容器的日志, 您将看到以下错误。

  • PHP-FPM 容器错误
    enter image description here

  • Nginx 容器错误 enter image description here

使用的nginx.conf文件如下所示。

PHP-FPM使用的www.conf文件如下所示。


访问“http://localhost:8080/index.php”时,网页显示“Access Denied”。
但是“http://localhost:8080/index.html”却正常显示。

导致此错误的原因是什么?
如何才能使用 openSUSE 容器使其正常工作?

注意这个容器是openSUSE Tumbleweed,所以它不包含SELinux等

Apparmor已安装在主机上。

php nginx podman opensuse podman-compose
1个回答
0
投票

在 php-fpm 配置中,您将

wwwrun/www
设置为用户和组。这可能是 NGINX 进程不共享类似的组权限来执行 PHP 脚本的原因。

您只需添加

user nginx;
即可解决 NGINX 配置问题,让 Web 服务器以 Nginx 用户身份运行。问题是 Nginx 用户是否可以在
/var
位置读取和写入 php-fpm 套接字。

群组权限可以解决此问题。

© www.soinside.com 2019 - 2024. All rights reserved.