Nginx进阶一
2020-11-18 本文已影响0人
小狐憨憨
Nginx进阶一
Nginx的首页解析过程
在Nginx入门链接 里面我们知道我们配置监听端口,转发地址,都是在server块中编写的
图中假设我们的不是服务器的ip是 49.233.148.75
server {
listen 80;
server_name localhost;
#路由配置
location / {
root html;
index index.html index.htm;
}
}
下图是nginx的目录结构:
我们可以看到conf目录与html目录平级
image.png
nginx的解析流程
Nginx的进程模型
在nginx中有俩种进程:
master:
- 管理worker进程
- 接收外来信号(一般是nginx请求)
- 向worker进程发送信号
- 监控work进程运行状态(worker退出后会保持配置文件设置的worker数,当有worker异常,会创建新的worker来替代)
worker:每个worker都是单独的进程,而且每个worker进程是相互独立的
image.png所以可以通过设置 worker_processes 来设置worker线程数量
一般部署在Linux系统中可以通过 : ps -ef |grep nginx 来查看nginx
image.png
可以看到上图好像有多个worker,而我设置的worker数量是1,是怎么回事呢,因为这个是我加入了fastdfs-nginx-module-1.22插件模块,而这也是nignx的强大之处,可以加载插件,
加载完插件需要重新编译 make install 来加载插件配置 我加载的那个插件是由于搭建了 FastDfS需要的插件所以多了几个工作worker
nginx的单进程启动:该进程既是master 也是worker
ngixn的多进程启动模型:
image.png
nginx为什么会这么快的:
image.pngevents 快全局块里面的 worker_connections 1024 表示每个worker最多可以连接怎么多个客户端
默认新版的nginx隐藏了一个配置,use epoll 模型, 异步非阻塞模型 这也是nginx并发高的原因