目录
Nginx工作原理图
由图可知,实际的工作都是由worker来进行的
Worker是如何工作的?
当有任务进入nginx,Master会广播给所有的Worker,Worker对工作进行争抢,谁抢到就是谁的。
Nginx热部署执行原理
热部署底层执行逻辑是master进程先会进行语法错误的判断。如果存在语法错误的话,返回错误,不进行装载;如果配置文件没有语法错误,先不改变已经建立连接的worker,等待worker将所有请求结束之后,将原先在旧的配置下启动的worker杀死,然后使用新的配置创建新的worker。
设置多少个Worker合适
Worker数和服务器的CPU数相等最为适宜
Worker工作时连接数为多少
当nginx连接静态资源时,一来一回需要2个连接。当nginx通过tomcat连接动态资源或可以理解为通过tomcat操作java时,连接数为4个
Worker支持的并发量为多少
- 访问静态资源
worker_connections(连接数) * worker_process(线程数) / 2
- 作为反向代理
worker_connections * worker_process / 4
ps:worker_processes默认为你cpu的核数,必须我是4核,worker_processes默认为4,它代表开启了1个主线程和4个worker线程