第二节 nginx整体结构、进程模型
一、nginx的整体结构
1、master进程和worker进程概览(父子关系)
启动nginx进程,用ps -ef | grep nginx打印出进程来,可以看到一个master进程,一个worker进程
第一列:UID,进程所属的用户id
root表示拥有最高权限的用户,所以master process有最高权限。(process是进程的意思,注意进程不是线程)
nobody表示权限非常低,就算worker process出现了什么漏洞,也不会被黑客利用。
第二列:进程ID(PID),用来唯一的标识一个进程
第三列:父进程ID(PPID),fork(),worker进程是被master进程通过fork()创建出来的-worker进程是master进程的子进程,master是父进程。高并发的epoll就是运行在worker进程中的。
2、nginx进程模型
一个master进程,一个到多个worker进程,这种工作机制来对外服务的,这种工作机制保证了nginx能够稳定、灵活的运行。
① master进程责任:监控进程,不处理具体业务,专门用来管理和监控worker进程;master,角色是监工,比较清闲
② worker进程:用来干主要的活的,(和用户交互)
③ master进程和worker进程之间要通讯,可以用信号,也可以用共享内存。
注:nginx是网页服务器
电脑和手机访问的其实是worker进程,在nginx服务器里面有相应的调度算法,来觉得是哪个进程来为张三服务、还是李四服务。
3、调整worker进程数量