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.pngimage.png

nginx的解析流程

Nginx的进程模型

在nginx中有俩种进程:
master:

  - 管理worker进程
  - 接收外来信号(一般是nginx请求)
  - 向worker进程发送信号
  - 监控work进程运行状态(worker退出后会保持配置文件设置的worker数,当有worker异常,会创建新的worker来替代)

worker:每个worker都是单独的进程,而且每个worker进程是相互独立的

image.pngimage.png

所以可以通过设置 worker_processes 来设置worker线程数量
一般部署在Linux系统中可以通过 : ps -ef |grep nginx 来查看nginx


image.pngimage.png

可以看到上图好像有多个worker,而我设置的worker数量是1,是怎么回事呢,因为这个是我加入了fastdfs-nginx-module-1.22插件模块,而这也是nignx的强大之处,可以加载插件,
加载完插件需要重新编译 make install 来加载插件配置 我加载的那个插件是由于搭建了 FastDfS需要的插件所以多了几个工作worker
nginx的单进程启动:该进程既是master 也是worker

ngixn的多进程启动模型:


image.pngimage.png

nginx为什么会这么快的:

image.pngimage.png

events 快全局块里面的 worker_connections 1024 表示每个worker最多可以连接怎么多个客户端
默认新版的nginx隐藏了一个配置,use epoll 模型, 异步非阻塞模型 这也是nginx并发高的原因

上一篇下一篇

猜你喜欢

热点阅读