AWS EC2实例配置Nginx规则后访问公网IP返回500错误如何解决
Nginx 500错误排查修复步骤
- 修复location块语法细节:你提供的配置中
location /{缺少半角空格,正确写法为location / {,部分Nginx版本对空格规则校验严格,修改后执行sudo nginx -t验证语法是否合法。 - 排查静态资源目录权限:Nginx默认运行用户为www-data,需确保该用户对
/opt/aws-thought/client/build目录有读+执行权限,执行以下命令修正权限:sudo chown -R www-data:www-data /opt/aws-thought sudo chmod -R 755 /opt/aws-thought - 验证静态文件存在性:确认前端打包产物已正确放置到目标路径,执行
ls /opt/aws-thought/client/build/index.html,如果返回文件不存在,需要重新执行前端打包命令,将build目录产物放到对应路径。 - 验证后端代理可用性:如果访问
/api/前缀路径触发500,需确认3001端口的后端服务已正常启动,在EC2实例本地执行curl http://localhost:3001测试接口连通性,若无法访问先启动对应后端服务。 - 查看错误日志定位根因:执行以下命令查看最近20条Nginx错误日志,可直接获取500错误的具体触发原因:
可根据日志提示的权限不足、文件不存在、代理连接拒绝等信息做针对性调整。sudo tail -n 20 /var/log/nginx/error.log - 所有配置调整完成后执行
sudo systemctl reload nginx重载配置即可生效。
内容的提问来源于stack exchange,提问作者JesG-77
相关产品推荐
相关产品推荐

