EC2服务器部署Django至Nginx失败,请求排查配置问题
排查步骤
确认Gunicorn运行状态
在EC2服务器本地执行curl 127.0.0.1:8081,若返回Django页面内容,说明Gunicorn正常监听;若连接失败,按以下方式排查:- 执行
ps aux | grep gunicorn查看进程是否存在 - 确保启动命令正确:
gunicorn --config gunicorn.conf.py your_project_name.wsgi:application(替换your_project_name为实际项目名称) - 查看Gunicorn错误日志
/home/ubuntu/projectmicroven/var/microven.gunicorn.error.log,定位启动失败原因
- 执行
修正Nginx静态文件路径
你的location /static/配置中,alias路径缺少/home/ubuntu前缀,导致Nginx无法找到静态文件,修改为:location /static/ { alias /home/ubuntu/projectmicroven/www/public/; include /etc/nginx/mime.types; }同时确认已执行
python3 manage.py collectstatic将静态文件收集到上述目录;若静态文件实际存放在该目录的static子文件夹下,alias需改为/home/ubuntu/projectmicroven/www/public/static/验证Nginx配置并重启服务
执行sudo nginx -t检查配置文件语法,若提示成功,执行sudo nginx -s reload重启Nginx使配置生效;若语法报错,根据提示修正配置内容检查EC2安全组规则
确保EC2实例的安全组已添加入站规则:允许TCP 8070端口的访问,来源设置为0.0.0.0/0(或你需要的IP范围)。此前8000端口可访问说明该端口已开放,但8070可能未配置对应规则查看Nginx错误日志
查看/home/ubuntu/projectmicroven/var/nginx.error.log,日志会记录具体错误信息(如连接Gunicorn失败、静态文件不存在等),根据日志精准定位问题
内容的提问来源于stack exchange,提问作者ftdeveloper
相关产品推荐
相关产品推荐

