You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

整合PHP-FPM与Nginx的Docker镜像访问报错:连接被重置

问题分析与解决:Symfony Docker镜像部署出现curl: (56) Recv failure: Connection reset by peer错误

错误原因

  • Nginx配置冲突:在location ~ ^/index\.php(/|$)块中同时配置了proxy_pass http://localhost:9000和fastcgi_pass php-upstream,两个指令互斥。proxy_pass用于HTTP代理,fastcgi_pass是PHP-FPM专用通信指令,同时存在会导致Nginx配置失效,无法正确处理请求。
  • 服务启动不完整:当前entrypoint.sh和CMD配置可能仅启动了PHP-FPM,未启动Nginx。若Nginx未运行,容器80端口无服务监听,外部访问会触发连接重置。
  • 冗余配置无效:location @rewriteapp块中的proxy_pass属于冗余配置,Symfony路由已通过try_files和fastcgi处理,该块不会被触发,反而造成配置混乱。

解决步骤

1. 修复Nginx配置文件

修改docker/nginx/default.conf,移除冲突指令和无效块:

server {
    listen 80;
    server_name localhost;
    root /var/www/online-invitations/public;
    error_log /var/log/nginx/project_error.log;
    access_log /var/log/nginx/project_access.log;

    location / {
        try_files $uri /index.php$is_args$args;
    }

    location ~ ^/index\.php(/|$) {
        fastcgi_pass php-upstream;
        fastcgi_index  index.php;
        fastcgi_split_path_info ^(.+\.php)(/.*)$;
        include fastcgi_params;

        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_param HTTPS off;

        fastcgi_buffer_size 128k;
        fastcgi_buffers 4 256k;
        fastcgi_busy_buffers_size 256k;
        fastcgi_read_timeout 600;

        internal;
    }
}

2. 确保Nginx与PHP-FPM同时启动

修改entrypoint.sh,在启动PHP-FPM前启动Nginx:

#!/bin/bash

# 后台启动Nginx
service nginx start

# 前台运行PHP-FPM(保持容器存活)
exec "$@"

若镜像无service命令,可替换为nginx -g 'daemon off;' &后台启动Nginx,再执行exec "$@"。

3. 验证PHP-FPM监听地址

检查PHP-FPM配置文件/usr/local/etc/php-fpm.d/www.conf,确保listen = 127.0.0.1:9000,与Nginx upstream配置一致(默认php:8.2-fpm镜像已配置此地址)。

4. 重新构建并启动容器

docker-compose build fpm
docker-compose up -d fpm

5. 验证服务状态

进入容器检查进程:

docker-compose exec fpm ps aux

查看Nginx错误日志排查问题:

docker-compose exec fpm tail -f /var/log/nginx/project_error.log

内容的提问来源于stack exchange,提问作者vukojevicf

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.11 03:24:59