我在uwsgi
中有nginx
个配置:
worker_connections 768;
...
#later in config
include uwsgi_params;
uwsgi_param SCRIPT_NAME "";
uwsgi_param REMOTE_USER $remote_user;
uwsgi_modifier1 30;
uwsgi_pass unix:/run/uwsgi/site.sock;
并像这样运行uwsgi
:
uwsgi --umask 117 --need-plugins python3 -s /run/uwsgi/site.sock -w index:app
此捆绑包(nginx
和uwsgi
)的连接处理是如何完全相乘的?
我的意思是,让我们说nginx
同时收到100个连接,
它可以在Linux上运行一个CPU,
每个连接都是http
GET
请求。
然后nginx
使用异步I / O自行处理它,直到获得GET
请求的完整包,对吧?
然后nginx
命令请求并按顺序逐个将它们通过unix socket传递给uwsgi
?
那么uwsgi
如何处理它,它可以运行任意数量的进程/线程,
但它应该通过unix socket以与接收请求相同的顺序返回nginx
的答案?
如果相同,那么这意味着uwsgi
运行的其他进程/线程是无意义的,如果不是相同的顺序,那么nginx
如何理解哪个请求的答案在哪里?