我是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进程的正确方法,如果不是如何?
答案 0 :(得分:2)
第一种方法非常合理,避免nginx将请求传递给已经忙碌的工作人员。
你可能会发现一些关于雷鸣般的群体问题的博客文章或文档,我建议你阅读:http://uwsgi-docs.readthedocs.org/en/latest/articles/SerializingAccept.html
基本上除非你处于非常具体的需求(和限制),否则第一种方法就是可行的方法。