Nginx + uWSGI部署中的一些小坑
1.invalid host in upstream报错
重新启动nginx : sudo /etc/init.d/nginx restart
原因是在配置负载均衡nginx.conf配置文件时,发现反向代理的proxy_pass里和负载均衡服务器列表都带了http://,而webservers就已经代表了服务器列表中的一个,所以只需在列表中的地址去除http://就可以。
2. KeyError: 'REQUEST_METHOD'报错
启动uwsgi时,报错如下:
原因是nginx配置参数的问题:
1. 忘记在location里面写:include uwsgi_params;
2. 写了,但是写错了,将uwsgi_params写成了wsgi_params
3. 注意:nginx+uwsgi部署和nginx+gunicorn部署方式不一样,nginx+uwsgi的socket通信写法是:uwsgi_pass: 127.0.0.1:9092,而nginx+gunicorn的socket通信写法是:proxy_pass http://127.0.0.1:9092;(一个需要加http://,一个不需要;还有参数写法不一样)
gunicorn写法: