nginx主配置文件详解

配置文件的结构如下:

#主配置段,即全局配置段,对http,mail都有效
main  {
 ...
}

#事件驱动相关的配置
event {
 ...
}  

#http/https 协议相关配置段
http {
 ...
}          

#默认配置文件不包括下面两个块
#mail 协议相关配置段
mail {
 ...
}    

#stream 服务器相关配置段
stream {
 ...
} 

从上面的结构可以看出,Nginx的默认主配置文件主要由main、events、http、server和location5个块组成,对于嵌套块(如http、server、location)中的指令,执行的顺序为从外到内依次执行,内层块中的大部分指令会自动获取外层块指令的值作为默认值,只有某些特殊指令除外

各块的作用如下:

作用
main主要控制nginx子进程所属的用户和用户组,生成子进程数,错误日志与级别,pid位置,子进程优先级,进程对应的CPU,进程能打开的文件描述符数目等
event控制nginx处理连接的方式
httpnginx处理http请求的主要配置块,大多数配置都在这里执行
servernginx主机的配置块,用户配置多个虚拟主机
location

server中对应控制目录级别的控制块,可以有多个

mail控制和邮件相关的配置

默认nginx.conf配置文件格式说明:

user nginx nginx;
#全局配置端,对全局生效,主要设置nginx的启动用户/组,启动的工作进程数量,工作模式,
Nginx的PID路径,日志路径等。

worker_processes  1;   #启动工作进程数数量

events { 
#events设置快,主要影响nginx服务器与用户的网络连接,比如是否允许同时接受多个网络连
接,使用哪种事件驱动模型处理请求,每个工作进程可以同时支持的最大连接数,是否开启对多
工作进程下的网络连接进行序列化等。

worker_connections  1024;   
#设置单个nginx工作进程可以接受的最大并发,
作为web服务器的时候最大并发数为worker_connections * worker_processes,
作为反向代理的时候为(worker_connections * worker_processes)/2}

http { 
#http块是Nginx服务器配置中的重要部分,缓存、代理和日志格式定义等绝大多数功能和第三方模
块都可以在这设置,http块可以包含多个server块,而一个server块中又可以包含多个location块,
server块可以配置文件引入、MIME-Type定义、日志自定义、是否启用sendfile、连接超时时间和单
个链接的请求上限等。

include       mime.types;
#用于引入配置文件

default_type application/octet-stream;
#设置默认文件类型

sendfile       on; 
#作为web服务器的时候打开sendfile加快静态文件传输,指定是否使用
sendfile系统调用来传输文件,sendfile系统调用在两个文件描述符之间直接传递数据(完全在内核
中操作),从而避免了数据在内核缓冲区和用户缓冲区之间的拷贝,操作效率很高,被称之为零拷贝
硬盘 >>kernel buffer (快速拷贝到kernelsocket buffer) >>协议栈。
   
keepalive_timeout  65;  #长连接超时时间,单位是秒
   
server { 
#设置一个虚拟机主机,可以包含自己的全局快,同时也可以包含多个location模块。比如
本虚拟机监听的端口、本虚拟机的名称和IP配置,多个server 可以使用一个端口,比如都使用80
端口提供web服务、
       
listen 80;  
#配置server监听的端口

server_name localhost; 
#本server的名称,当访问此名称的时候nginx会调用当前serevr内部的配置进程匹配。

location / { 
#location其实是server的一个指令,为nginx服务器提供比较多而且灵活的指
令,都是在location中体现的,主要是基于nginx接受到的请求字符串,对用户请求的UIL进行匹配,
并对特定的指令进行处理,包括地址重定向、数据缓存和应答控制等功能都是在这部分实现,另外很
多第三方模块的配置也是在location模块中配置。

root   html; 
#相当于默认页面的目录名称,默认是安装目录的相对路径,可以使用绝对路径配置。
           
index index.html index.htm; 
#默认的页面文件名称
       }
       
error_page   500 502 503 504 /50x.html; 
#错误页面的文件名称
       
location = /50x.html { 
#location处理对应的不同错误码的页面定义到/50x.html,这个
跟对应其server中定义的目录下。
           
root   html;  #定义默认页面所在的目录
       }
   }
    

mail {
#和邮件相关的配置               
         }         mail 协议相关配置段tcp代理配置,1.9版本以上支持

stream {
#stream 服务器相关配置段 
         }       

include /apps/nginx/conf.d/*.conf
#导入其他路径的配置文件
}
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值