Docker 中 Nginx 502 错误:如何解决 PHP 服务无法访问的问题?
nginx 502 错误:找不到 php 服务
在一套包含 nginx 和 php 的 docker 配置中,访问 php 服务时出现 502 错误,提示无法连接上游。
解决方案:
问题出在 nginx 配置中,默认为 php 服务监听的 host 地址为 127.0.0.1,导致在其他容器中无法访问。
立即学习“PHP免费学习笔记(深入)”;
修改 nginx 配置:
在 nginx 配置中,修改 server 块的 listen 指令,指定 php 服务监听的 host 地址为 0.0.0.0。
server { listen 80; server_name management.test; server_tokens off; root /workspace/management/public; # ... 其他配置 ... location @octane { # ... 其他配置 ... proxy_pass http://php_swoole$suffix; }}
修改 octane 命令:
同时,在启动 octane 命令中,也需要指定 host 参数为 0.0.0.0。
php artisan octane:start --host=0.0.0.0
这些修改将允许 nginx 正确地转发请求到 php 服务,解决 502 错误。