为了账号安全,请及时绑定邮箱和手机立即绑定

Nginx、PHP-FPM、Docker - 113:主机无法访问

Nginx、PHP-FPM、Docker - 113:主机无法访问

PHP
温温酱 2023-10-01 17:14:46
我很难理解我的错误在哪里。我查看了各种答案并尝试了补救措施,却发现他们的解决方案并没有解决我的问题。我已经将所有内容剥离到非常基础的内容,看看我是否可以得到一个基本的 PHP index.php 来呈现它自己。这是我试图实现的核心目标:我有 docker-compose 建立 1 个网络,以及连接到该网络的 2 个服务。一个服务是PHP-FPM,另一个服务是nginx,为PHP-FPM提供服务。每次我站起来时,无论我如何配置它,我都会得到一个502 Bad Gateway,当我检查 nginx 容器日志时,我会得到[error] 29#29: *1 connect() failed (113: Host is unreachable) while connecting to upstream。./docker-compose.ymlversion: "3.7"networks:    app:        driver: bridgeservices:    php:        image: php:7.4-fpm        container_name: php        volumes:            - /home/admin/dev/test/php/www.conf:/usr/local/etc/php-fpm.d/www.conf            - /home/admin/dev/test/src/:/var/www/html        networks:            - app    nginx:        image: nginx:alpine        container_name: nginx        depends_on:            - php        ports:            - "80:80"            - "443:443"        volumes:            - /home/admin/dev/test/src/:/usr/share/nginx/html            - /home/admin/dev/test/nginx/conf.d/app.conf:/etc/nginx/conf.d/app.conf        networks:            - app./php/www.conf -> /usr/local/etc/php-fpm.d/www.conf[www]user = www-datagroup = www-datalisten = 0.0.0.0:9000pm = dynamicpm.max_children = 5pm.start_servers = 2pm.min_spare_servers = 1pm.max_spare_servers = 3./nginx/conf.d/app.conf -> /etc/nginx/conf.d/app.confserver {    listen 80;    server_name localhost;        root /usr/share/nginx/html;    index index.php;    location / {        try_files $uri $uri/ /index.php?$query_string;    }我相信我只是对 PHP-FPM 有一个重大误解,但也许还有其他原因。故障排除期间的更新 我的想法是我的整体环境(即 Fedora 32)搞砸了。Docker 不支持开箱即用的 Fedora 32(必须更改 /etc/yum.repos.d 中的存储库设置才能使其正常工作 - 必须使用 Fedora 31 的存储库)。所以我决定启动一个 Ubuntu 20.0.4 VM 并在那里进行测试。现在 PHP-FPM 和 Nginx 正在对话;我从 PHP-FPM 容器收到响应!然而,现在即使只有基本脚本,我也会收到 404 错误,但这更接近我需要的位置......现在修复 404。
查看完整描述

2 回答

?
拉丁的传说

TA贡献1789条经验 获得超8个赞

最终更新(答案) 对于遇到此问题的任何人,截至今天为止,Docker 无法与 Fedora 32 一起使用(某些部分可以)。至少我没有时间进行故障排除/修补。这是一个新的 Fedora 32,没有安装以前的 docker/docker-compose 或任何东西。

我架起了新的 Fedora 31 和 Ubuntu 20.0.4 只是为了验证我的“结论”。两者都开箱即用,无需额外调整。


查看完整回答
反对 回复 2023-10-01
?
蝴蝶不菲

TA贡献1810条经验 获得超4个赞

您可以检查您的 php-fpm 服务是否正在运行吗?问题可能是 php-fpm 服务未运行,因此 nginx 无法连接到它



查看完整回答
反对 回复 2023-10-01
  • 2 回答
  • 0 关注
  • 121 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信