nginx怎么做动静分离(nginx监控与调优二)

进程运行的模型

nginx怎么做动静分离(nginx监控与调优二)(1)

当启动nginx服务器时,系统会生成一个master进程和多个worker进程,所有worker子进程都是由master进程来生成。master进程不仅仅是会生成worker子进程还会对worker子进程进行监控和管理。

worker子进程会监控所有的用户提交上来的请求,通过socket来监控,当有请求进来时,所以的worker子进程会去抢着来处理这个http请求,这里只可能有一个进程可以处理这个HTTP请求,其它进程会失败,这就是所谓的“惊群”现象。

为了解决“惊群”现象,nginx会引入互斥锁accept_mutex,只有获得accept_mutex的子进程才可以去处理客户端提交的请求。

http请求运行过程

nginx怎么做动静分离(nginx监控与调优二)(2)

nginx配置上下文

nginx配置文件的路径:

/usr/local/nginx/conf/nginx.conf

nginx配置文件有几大组成部分 worker_processes 1; evente { ...... } http { server { ...... local { ...... } } } nginx配置文件包括: 全局变量 events上下文 http上下文 server上下文必须是声明在http上下文中 local上下文必须是声明在server上下文中

常见配置项含义:

user:表示子进程用户,master process是主进程,其它的子进程都是由master process来决定 worker_processes:表示当服务器启动时,生成的子进程数,这个子进程数由CPU的核数来决定 error_log:表示错误日志文件位置 worker_connections:表示每个子进程最多允许的连接数 use eproll:表示IO复用模型 include mime.type:表示传输文件的格式 log_format:表示日志文件的格式 access_log:表示日志文件所在的位置 keepalive_timeout:表示长连接时,请求与请求之间的时间间隔 listen:表示监听的端口 server_name:表示服务器的IP地址

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页