您的位置:首页 > 编程语言 > Go语言

多个Django应用只启动一个uwsgi进程时经常出现502的问题

2014-03-31 10:47 411 查看
上篇文章中说了如何只启用一个uwsgi进程服务多个Django应用,虽然成功了,但是却有一个很大的问题:经常出现502。

刷新一下说不定又好了,再刷又502,就这样循环往复。

刚开始也不知道什么原因,一直调配置参数,不过基本没有什么改观,后来仔细查看uwsgi的启动参数,发现了一个参数:map-socket,这个参数的意义为:当你将一个uWSGI实例绑定到多个socket,你可以指定某些工作进程到某些socket来提高服务质量。

它的用法如下:

[uwsgi]
socket=/tmp/uwsgi0.sock
socket=/tmp/uwsgi1.sock
workers=6
map-socket=0:1,2,3
map-socket=1:4,5,6


上面的意思是,开启6个子进程,1,2,3通过/tmp/uwsgi0.sock来处理;4,5,6通过/tmp/uwsgi1.sock来处理。

Nginx中可以把有的虚拟主机的监听的socket设置为uwsgi0.sock,有的设置成uwsgi1.sock,这样设置之后刷新了很多次都没有再出现502了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐