以下是Ubuntu Nginx常见错误码及解决方法:
- 400 Bad Request(请求格式错误):检查客户端请求格式,确保HTTP头或Body符合规范。
- 401 Unauthorized(未授权):配置Nginx的
auth_basic
或auth_request
模块,提供有效认证信息。
- 403 Forbidden(禁止访问):
- 检查Nginx配置中的
user
权限,确保对目标文件/目录有读取权限。
- 使用
sudo chown -R www-data:www-data /path/to/directory
修改权限。
- 404 Not Found(资源未找到):
- 确认请求URL正确,检查Nginx配置中的
location
块和文件路径。
- 若为反向代理,确保上游服务正常运行且端口配置正确。
- 500 Internal Server Error(服务器内部错误):
- 查看Nginx错误日志
/var/log/nginx/error.log
,定位后端应用或配置问题。
- 检查后端服务(如PHP-FPM、Python应用)是否正常运行。
- 502 Bad Gateway(上游响应无效):
- 确保上游服务器(如API、数据库)可访问,检查代理配置中的
proxy_pass
地址和端口。
- 调整
proxy_connect_timeout
和proxy_read_timeout
参数。
- 503 Service Unavailable(服务不可用):
- 检查服务器资源(CPU、内存)是否过载,优化或扩容。
- 若为维护状态,可通过Nginx配置
return 503
并添加维护页面。
- 504 Gateway Timeout(网关超时):
- 增加上游请求超时时间,如
proxy_connect_timeout 60s;
。
- 检查网络连接,确保Nginx与上游服务器通信正常。
通用排查步骤:
- 查看错误日志:
sudo tail -f /var/log/nginx/error.log
。
- 检查配置语法:
sudo nginx -t
,修复语法错误。
- 排查端口占用:
sudo netstat -tuln | grep <端口>
,修改冲突端口。
- 验证权限:确保Nginx用户(通常为
www-data
)对相关文件/目录有访问权限。