Nginx(七):实际使用配置、进程模型及工作原理

1.实际使用配置

1.由于在nginx中需要配置很多东西,就会使得nginx.conf配置文件过于臃肿,所以我们会将配置文件合理的切分。大体的配置依然在nginx.conf中,其他的配置会放在etc下面的目录中。

2.etc文件中一般是放置配置文件的,所以 在 etc 中新建目录

创建一个文件:vim virtual.conf ,创建一个虚拟主机配置文件

3.将nginx.conf中 注释掉的配置 全部删除掉,并将 upstream 和 server 段 复制到 /etc/nginx/conf.d/virtual.conf中。如下:

1)nginx.conf:

2) virtual.conf:

4.访问 http://192.168.80.128/,出现tomcat的主页,ok,成功!

2.进程模型

Nginx是一个master和worker的模型。master主要用来管理worker进程,master就比作老板,worker就是打工仔,master指挥worker来做事情。下图是nginx的进程模型:

master进程:

1.接收外界的信号,例如:kill -QUIT,kill -HUP

kill -HUP 重新加载配置文件,然后重新启动新的worker进程,老的还在运行,同时,向老的worker进程发送退休命令,老的worker进程将原有的请求处理完之后,就退休,不会接收新的请求,自毁,新的worker进程处理新的请求。

2.向各个worker进程发送信号

3.监控worker进程

4.当worker进程因异常退出,会自动启动新的worker进程。

woker进程:

处理客户端的请求

接收客户端的连接,完成服务端和后端的数据交互,各个worker之间的进程是相互独立的并且平等的,对请求的处理机会是相等的。

3.工作原理

当启动nginx时,maste进程启动的时候,会创建好Listener的一个socket监听,然后会fork出多个worker进程(根据配置文件),当有请求来临时,worker进程会通过共享锁来保证在同一时刻只有一个worker进程来处理同一个连接,当worker进程接收到请求的时候,就开始做数据的响应和处理,哪一个进程抢到锁,哪一个进程就会处理请求。

nginx是一个壳,由内核和模块组成,主要是核心、基础、第三方模块。其中,核心模块:http模块,event模块、mail模块。

我来评几句
登录后评论

已发表评论数()

相关站点

+订阅
热门文章