Nginx学习之Nginx进程

Nginx学习之Nginx进程本文介绍了 Nginx 的基本命令 如启动 关闭 重新加载配置文件等 并解释了 Nginx 的进程模型 包括 master 和 worker 进程的角色及 worker 进程的抢占机制

大家好,欢迎来到IT知识分享网。

Nginx学习

Nginx命令

  1. ./nginx:启动Nginx;
  2. ./nginx -s stop:关闭Nginx,立即关闭,不管有没有已接受的请求;
  3. ./nginx -s reload:重新加载nginx配置文件,热加载,不需要停止nginx然后重新启动;
  4. ./nginx -s quit:关闭nginx,不过会处理已接受的请求;
  5. ./nginx -t:校验配置文件是否正确,如果配置文件正确会输出xxxok的内容;

Nginx进程

在这里插入图片描述

Nginx的进程分为master进程:主进程,worker进程:工作进程。master进程负责管理监控worker进程,worker进程负责处理请求,一个master进程可以有多个worker进程。如果worker进程出现问题,那么master会关闭它,重新启动一个worker进程去干活。mater进程就像老板,而worker进程是干活的人。

在这里插入图片描述
当开发者执行了某个命令后,master进程会把这些命令发送给每一个worker;每一个worker进程会处理与其连接的客户端的请求。

Worker抢占机制

在这里插入图片描述
当客户端发送请求后,worker进程会去争抢这个请求,nginx设置了accept_mutex互斥锁,哪个worker进程抢到了accept_mutex互斥锁,请求就由哪个worker进程处理。

请求处理机制

在这里插入图片描述
worker处理请求是基于异步非阻塞模型epoll去处理的,当Client1的请求阻塞了,worker1会继续去处理Client2的请求,这样就大大提高了nginx的并发能力;而传统的服务器是基于同步阻塞的,当Client1的请求被阻塞后,会新建一个进程去处理Client2的请求。

总结

参考

  • Nginx教程

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/100847.html

(0)

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信