Nginx的目录介绍
【Nginx的目录介绍】
Nginx目录结构
1 | [root@localhost ~]# tree /usr/local/nginx |
其中这几个文件夹在刚安装后是没有的,主要用来存放运行过程中的临时文件
client_body_temp fastcgi_temp proxy_temp scgi_temp
主要的目录是conf,html,log及sbin。
-
conf目录放的是核心配置文件
-
html目录放的是静态页面:
50x.html是发生错误展示的页面,index.html是默认的访问页面。可以在该目录下新建html,然后在浏览器中访问,例如在该目录下新建hello.html,内容是hello,然后访问:http://192.168.2.100/hello.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的默认配置文件是nginx.conf
有一个文件是
nginx.conf.default
,那个就是nginx.conf
初始内容,出了问题可以对照着找问题。
nginx.cong
去掉注释的简单版如下:
1 | worker_processes 1; #允许进程数量,建议设置为cpu核心数或者auto自动检测,注意Windows服务器上虽然可以启动多个processes,但是实际只会用其中一个 |
- worker_processes
worker_processes 1; 默认为1,表示开启一个业务进程
- worker_connections
worker_connections 1024; 单个业务进程可接受连接数
- include mime.types;
include mime.types; 引入http mime类型
- default_type application/octet-stream;
default_type application/octet-stream; 如果mime类型没匹配上,默认使用二进制流的方式传输。
- sendfile on;
sendfile on; 使用linux的 sendfile(socket, file, len) 高效网络传输,也就是数据0拷贝。
未开启sendfile
开启后
- keepalive_timeout 65;
keepalive_timeout 65; ,保持连接,超时时间。
- server