开发者社区 问答 正文

connect() to unix:/run/php/php7.0-fpm.sock failed

服务器升级以后,出现了该问题,请问怎么解决? connect() to unix:/run/php/php7.0-fpm.sock failed (2: No such file or directory) while connecting to upstream

展开
收起
sinten 2020-03-29 23:24:16 753 分享 版权
阿里云 AI 助理回答

解决方案

  1. 问题描述

    • 在服务器升级后,您遇到错误信息:connect() to unix:/run/php/php7.0-fpm.sock failed (2: No such file or directory) while connecting to upstream。这表明Nginx在尝试与PHP 7.0 FPM进程通信时无法找到指定的socket文件。
  2. 可能原因

    • PHP 7.0 FPM服务未启动。
    • PHP配置更改导致socket路径不正确。
    • 升级过程中PHP 7.0被移除或替换为其他版本。
  3. 解决步骤

    • 检查PHP-FPM状态

      • 执行命令 systemctl status php7.0-fpm 来查看服务状态。如果服务未运行,请启动它:systemctl start php7.0-fpm
    • 验证Socket路径

      • 检查Nginx配置文件(通常位于 /etc/nginx/sites-available/your_site_config/etc/nginx/nginx.conf),确保fastcgi_pass指令指向的socket路径与PHP-FPM实际使用的路径一致。例如,若PHP-FPM配置(位于 /etc/php/7.0/fpm/pool.d/www.conf)中listen值为/var/run/php/php7.0-fpm.sock,则需保证Nginx配置中的路径与此匹配。
    • 重新启动Nginx

      • 如果进行了任何配置更改,执行 systemctl restart nginx 以应用更改。
    • 检查PHP版本

      • 若发现PHP 7.0已被移除或替换成其他版本(如通过命令 php -v 查看),需要更新Nginx配置以指向新版本的PHP-FPM socket路径,并确保新版本的PHP-FPM服务已启动。
  4. 注意事项

    • 备份配置文件:在修改任何配置文件之前,请先做好备份。
    • 权限检查:确保Nginx用户有权限访问PHP-FPM的socket文件。
    • 日志审查:查看Nginx和PHP-FPM的日志(通常位于 /var/log/nginx/error.log/var/log/php7.0-fpm.log),以便获取更详细的错误信息。
  5. 进一步排查

    • 如果上述步骤未能解决问题,考虑是否有SELinux或AppArmor等安全软件阻止了访问,或者系统防火墙规则是否需要调整。

请按照上述步骤逐一排查并修复问题。如果问题依然存在,建议查阅官方文档或寻求专业技术支持。


此解答依据的知识库参考资料包括但不限于[1]中的操作指导。

有帮助
无帮助
AI 助理回答生成答案可能存在不准确,仅供参考
0 条回答
写回答
取消 提交回答
问答分类:
问答地址: