部署有nginx的机器每一个核都会启动一个worker进程,用来接受处理客户端发来的请求。为了做负载均衡,worker会根据一定的规则将请求分发到后面的某一台机器上。由于我的nginx机器后面只有一台四核机器,所以我是这样分发请求的,配置文件中相应位置这样写:
upstream news_baijia{ server 0.0.0.0:9999; server 0.0.0.0:9998; server 0.0.0.0:9997; server 0.0.0.0:9996; }
这相当于将请求分发到0.0.0.0这台机器的四个端口中的某一个端口上去了。而在0.0.0.0这台机器上呢,启动了四个tornado的service的实例(是同一个web app),分别监听不同的四个端口。为什么监听四个端口呢?因为这台机器是四核,每个核运行一个进程,多进程处理请求。
然后再使用supervisor启动并监控这四个进程就好了。
时间: 2024-10-08 02:53:35