uwsgi中的nginx负载平衡

时间:2013-08-08 14:08:07

标签: nginx uwsgi

我是uwsgi的新手,并试图了解它是如何工作的。

在uwsgi中说我有两个设置说

1)

uwsgi --socket /tmp/uwsgi.sock --socket 127.0.0.1:8000 --master --process 2 --workers 1

这是一个单独的uwsgi进程,有2个子进程,每个进程有三个线程监听端口8000

2)

uwsgi --socket /tmp/uwsgi.sock --socket 127.0.0.1:8000 --master --process 2 --workers 3
uwsgi --socket /tmp/uwsgi2.sock --socket 127.0.0.1:8001 --master --process 2 --workers 3

类似地,2个uwsgi进程侦听端口8000和8001

怀疑1:我们可以将uwsgi进程配置为像(2)一样运行并在nginx中配置它们吗?

怀疑2:nginx何时对请求进行负载均衡  (a)如果有多个uwsgi进程监听多个端口  (b)如果它有单个uwsgi进程和多个子进程

哪个更好(a)或(b)或者这不是使用nginx来平衡uwsgi进程的正确方法,如果不是如何?

1 个答案:

答案 0 :(得分:2)

第一种方法非常合理,避免nginx将请求传递给已经忙碌的工作人员。

你可能会发现一些关于雷鸣般的群体问题的博客文章或文档,我建议你阅读:http://uwsgi-docs.readthedocs.org/en/latest/articles/SerializingAccept.html

基本上除非你处于非常具体的需求(和限制),否则第一种方法就是可行的方法。