Nginx核心配置详解

一、配置文件说明

nginx官方帮助文档:nginx documentation

nginx的配置文件的组成部分:

  • 主配置文件:nginx.conf
  • 子配置文件: include conf.d/*.conf
  • fastcgi, uwsgi,scgi 等协议相关的配置文件
  • mime.types:支持的mime类型,MIME(Multipurpose Internet Mail Extensions)多用途互联网邮 件扩展类型,MIME消息能包含文本、图像、音频、视频以及其他应用程序专用的数据,是设定某 种扩展名的文件用一种应用程序来打开的方式类型,当该扩展名文件被访问的时候,浏览器会自动 使用指定应用程序来打开。多用于指定一些客户端自定义的文件名,以及一些媒体文件打开方式。

nginx 配置文件格式说明:

  • 配置文件由指令与指令块构成 每条指令以;分号结尾,指令与值之间以空格符号分隔
  • 可以将多条指令放在同一行,用分号分隔即可,但可读性差,不推荐
  • 指令块以{ }大括号将多条指令组织在一起,且可以嵌套指令块
  • include语句允许组合多个配置文件以提升可维护性
  • 使用#符号添加注释,提高可读性
  • 使用$符号使用变量
  • 部分指令的参数支持正则表达式

nginx 主配置文件的配置指令方式:

directive value [value2 ...];

注意:

(1) 指令必须以分号结尾

(2) 支持使用配置变量

        内建变量:由Nginx模块引入,可直接引用

        自定义变量:由用户使用set命令定义,格式: set variable_name value

        引用变量:$variable_name

主配置文件结构:

main block:主配置段,即全局配置段,对http,mail都有效

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

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

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

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

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

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

user nginx nginx;
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块中又可以包含多个locatio块,
                               #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进行匹配,并对特定的指令进行处理
                       #包括地址重定向、数据缓存和应答控制等功能都是在这部
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

new不出对象来

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值