nginx怎么做动静分离(nginx监控与调优二)
进程运行的模型
当启动nginx服务器时,系统会生成一个master进程和多个worker进程,所有worker子进程都是由master进程来生成。master进程不仅仅是会生成worker子进程还会对worker子进程进行监控和管理。
worker子进程会监控所有的用户提交上来的请求,通过socket来监控,当有请求进来时,所以的worker子进程会去抢着来处理这个http请求,这里只可能有一个进程可以处理这个HTTP请求,其它进程会失败,这就是所谓的“惊群”现象。
为了解决“惊群”现象,nginx会引入互斥锁accept_mutex,只有获得accept_mutex的子进程才可以去处理客户端提交的请求。
http请求运行过程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