nginx+uwsgi部署django项目时,无法访问可能的原因
- nginx配置文件未配置正确
server_name = xx.xx.xx.xx # 注意地址是否正确
# 注意配置的端口号,端口80时可省略端口:xx.xx.xx.xx[:80]
listen 80
# 注意路由转发端口是nginx端口,不是uwsgi转发端口(如8000) <-- 错的较多
location /api { ... } # 80端口时: xx.xx.xx.xx/api 非xx.xx.xx.xx:8000/api(以为是项目端口)
- uwsgi配置问题
module = xx.wsgi # xx一般与项目同名,可查看项目文件确认,在项目文件夹下第一层,固定格式xxx.wsgi
home = /xxx/xxx/xxx/xxx环境文件夹 # 运行环境路径,注意只到环境文件夹,即bin的上一层
一些方法帮助排查:
- 检查后端:
python manage.py runserver 0.0.0.0:8000尝试项目是否可正常启动 - 检查uwsgi转发:
uwsgi --ini uwsgi.ini手动启动uwsgi,直接访问后端看能否正常访问,以排除uwsgi的问题。注意socket和http的配置区别,如果使用http,并且开启了端口,可在浏览器直接访问做尝试。 - 检查nginx:将
location / {...}中添加proxy_pass http://www.baidu.com;,访问ip/域名,是否正常转发到百度,以排除nginx未正常启动

浙公网安备 33010602011771号