Ngixn目录结构及运行原理
作者:互联网
通过tree插件查看Nginx的目录结构,没有的可以通过
yum install -y tree
找到自己的Nginx文件目录输入
[root@localhost ~]# tree /usr/local/nginx /usr/local/nginx ├── client_body_temp # POST 大文件暂存目录 ├── conf # Nginx所有配置文件的目录 │ ├── fastcgi.conf # fastcgi相关参数的配置文件 │ ├── fastcgi.conf.default # fastcgi.conf的原始备份文件 │ ├── fastcgi_params # fastcgi的参数文件 │ ├── fastcgi_params.default │ ├── koi-utf │ ├── koi-win │ ├── mime.types # 媒体类型 │ ├── mime.types.default │ ├── nginx.conf #这是Nginx默认的主配置文件,日常使用和修改的文件 │ ├── nginx.conf.default │ ├── scgi_params # scgi相关参数文件 │ ├── scgi_params.default │ ├── uwsgi_params # uwsgi相关参数文件 │ ├── uwsgi_params.default │ └── win-utf ├── fastcgi_temp # fastcgi临时数据目录 ├── html # Nginx默认站点目录 │ ├── 50x.html # 错误页面优雅替代显示文件,例如出现502错误时会调用此页面 │ └── index.html # 默认的首页文件 ├── logs # Nginx日志目录 │ ├── access.log # 访问日志文件 │ ├── error.log # 错误日志文件 │ └── nginx.pid # pid文件,Nginx进程启动后,会把所有进程的ID号写到此文件 ├── proxy_temp # 临时目录 ├── sbin # Nginx 可执行文件目录 │ └── nginx # Nginx 二进制可执行程序 ├── scgi_temp # 临时目录 └── uwsgi_temp # 临时目录
- conf目录放的是核心配置文件
- html目录放的是静态页面:
- 默认有两个html文件
-
50x.html是错误展示页面
-
index.html是默认展示页面
- logs文件夹用于存放日志信息:
-
error.log存放出错的信息,nginx.pid存放的是当前nginx的pid。
-
- sbin存放的是可执行文件,可以用 ./nginx启动nginx
Nginx的运行原理:
Nginx的进程是使用经典的「Master-Worker」模型,Nginx在启动后,会有一个master进程和多个worker进程。master进程主要用来管理worker进程,包含:接收来自外界的信号,向各worker进程发送信号,监控worker进程的运行状态,当worker进程退出后(异常情况下),会自动重新启动新的worker进程。worker进程主要处理基本的网络事件,多个worker进程之间是对等的,他们同等竞争来自客户端的请求,各进程互相之间是独立的。一个请求,只可能在一个worker进程中处理,一个worker进程,不可能处理其它进程的请求。worker进程的个数是可以设置的,一般会设置与机器cpu核数一致,这里面的原因与nginx的进程模型以及事件处理模型是分不开的。
简单认识Nginx下的nginx.conf文件:
worker_processes 1; #允许进程数量,建议设置为cpu核心数或者auto自动检测,注意Windows服务器上虽然可以启动多个processes,但是实际只会用其中一个 events { #单个进程最大连接数(最大连接数=连接数*进程数) #根据硬件调整,和前面工作进程配合起来用,尽量大,但是别把cpu跑到100%就行。 worker_connections 1024; } http { #文件扩展名与文件类型映射表(是conf目录下的一个文件) include mime.types; #默认文件类型,如果mime.types预先定义的类型没匹配上,默认使用二进制流的方式传输 default_type application/octet-stream; #sendfile指令指定nginx是否调用sendfile 函数(zero copy 方式)来输出文件,对于普通应用,必须设为on。如果用来进行下载等应用磁盘IO重负载应用,可设置为off,以平衡磁盘与网络IO处理速度。 sendfile on; #长连接超时时间,单位是秒 keepalive_timeout 65; #虚拟主机的配置,一个server就是一个虚拟机 server { #监听端口 listen 80; #域名,可以有多个,用空格隔开 server_name localhost; #配置根目录以及默认页面 location / { root html; index index.html index.htm; } #出错页面配置 error_page 500 502 503 504 /50x.html; #/50x.html文件所在位置 location = /50x.html { root html; } } }
标签:Nginx,worker,目录,nginx,html,进程,原理,Ngixn,fastcgi 来源: https://www.cnblogs.com/oliuhead/p/16485366.html