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

如何修复AWS Lightsail Ubuntu实例出现Internal Server Error 500的问题

故障排查与解决步骤

1. 验证PHP-FPM套接字文件存在性与权限

  • 首先检查报错中提到的sock文件是否真实存在,执行命令:
    ls -l /var/www/vhosts/system/website.net/php-fpm.sock
    • 若文件不存在:说明对应站点的PHP-FPM池配置错误,或PHP-FPM服务未正常启动
    • 若文件存在:校验文件属主与权限是否匹配Apache运行用户,Ubuntu下Apache默认运行用户为www-data,sock文件需给该用户开放读写权限,合法权限参考如下:
      srw-rw---- 1 www-data www-data 0 [日期时间] php-fpm.sock
    • 权限异常可执行以下命令修复:
    chown www-data:www-data /var/www/vhosts/system/website.net/php-fpm.sock
    chmod 660 /var/www/vhosts/system/website.net/php-fpm.sock
    

2. 检查PHP-FPM服务运行状态

  • 查看对应版本的PHP-FPM服务状态,以PHP8.1为例:
    systemctl status php8.1-fpm
    • 服务未启动则执行启动命令:systemctl start php8.1-fpm
    • 服务启动失败则查看PHP-FPM日志定位问题,默认日志路径:/var/log/php8.1-fpm.log(将版本号替换为你实际使用的PHP版本)
  • 检查PHP-FPM池配置的监听参数是否正确,池配置文件默认路径为/etc/php/[PHP版本]/fpm/pool.d/website.net.conf,需保证listen参数和Apache配置里的sock路径完全一致:
    listen = /var/www/vhosts/system/website.net/php-fpm.sock

3. 修复Apache代理配置冲突

本次报错核心原因是Apache配置中同时出现了Unix套接字(UDS)和TCP端口两种PHP代理规则,两种规则冲突导致UDS文件名识别异常。

  • 打开对应站点的Apache虚拟主机配置文件,默认路径为/etc/apache2/sites-available/website.net.conf
  • 仅保留一种代理规则即可,两种可选配置参考如下:

优先选择UDS方式(单机部署性能更高),配置为:
ProxyPassMatch ^/(.*\.php(/.*)?)$ unix:/var/www/vhosts/system/website.net/php-fpm.sock|fcgi://127.0.0.1/var/www/vhosts/website.net/httpdocs/$1
若使用TCP代理方式,删除UDS相关配置,仅保留:
ProxyPassMatch ^/(.*\.php(/.*)?)$ fcgi://127.0.0.1:9000/var/www/vhosts/website.net/httpdocs/$1

  • 验证Apache配置合法性:apache2ctl configtest
  • 配置验证通过后重载服务生效:systemctl reload apache2

4. 兜底排查

若以上配置均正常仍报错,执行以下操作:

  • 重启PHP-FPM与Apache服务:
systemctl restart php[你的PHP版本]-fpm
systemctl restart apache2
  • 检查AppArmor是否拦截了Apache对sock文件的访问,执行命令查看拦截日志:dmesg | grep -i deny,如存在拦截需调整Apache的AppArmor规则放开对应路径的读写权限。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 09:24:00