master
和worker
Nginx
启动后会有两个进程
客户端会发送请求,请求会先到Nginx
服务器中的master
进程,master
会分发这个任务给每一个worker
进程,worker
通过争抢机制得到这个任务,进而通过反向代理,使用Tomcat服务器完成具体的操作。
worker_connection
连接数
这个值表示每个worker
进程所能建立连接的最大值,所以一个Nginx
能建立的最大连接数应该是worker_connection * worker_processes
。
当一个请求过来,它会占用worker
的2个(静态资源访问)或者4个连接数(反向代理需要Tomcat服务器进行处理)
所以普通的静态访问最大并发数是 worker_connections * worker_processes /2,而如果是 HTTP 作为反向代理来说,最大并发数量应该是 worker_connections * worker_processes/4
。因为作为反向代理服务器,每个并发会建立与客户端的连接和与后端服务的连接,会占用两个连接。