nginx笔记---http配置
1、三个逻辑区段
http:该区段嵌入配置文件的根部,在这个区段中允许定义指令和嵌入http相关模块。他包含了一个或多个server区段,他也能够使全局配置生效。
server:这个区段建立了一个站点。你能够设置主机名,监听端口,还有主页自识别名称和后缀名,错误日志等内容。
location:用于对站点进行筛选,过滤,重写等操作。嵌套在server下。
2、区段命令
1、listen:指定web的监听端口和地址(默认是Ip自动指向自己,端口默认80)
作用域:server
,
2、server_name:如果有多个server区段,当Nginx收到HTTP的请求时,它会与所有的server区段进行对比,然后找到与客户端请求header中的host相匹配的server区段,然后进行后续的操作。如果所有所有区段中都没有与其相匹配的将自动匹配第一个Server区段。
作用域:http,server,location
3、server_names_hash_bucket_size:定义在服务器名称哈希表中一个条目最大的长度
默认值:32、64、128取决于处理器缓存规格
Server_name_hash_bucket_size 32;
作用域: server,location
4、tcp_nodelay:开启或关闭使用tcp_nodelay套接字选项,仅用于keep-alive链接(默认是开启的,nodelay没有延迟的)。
作用域:http,server,location
5、tcp_nopush:如果是on,那么nginx将尝试在单个tcp数据包中发送整个http响应头。作用于sendfile,sendfile开启可以使用。
默认是:off
作用域:http,server,location
6、sendfile:nginx使用sendfile内核来调用处理文件传递,off的话,nginx将自己处理文件传递。
默认是:off
作用域:http,server,location
7、sendfile_max_chunk:定义sendfile每次调用数据的最大值。
作用域:http,server
##############################################################################################################################################################
路径和错误信息
1、root:定义文档的根目录,该目录包含你希望为访问者提供的内容
语法:root /var/www/html;
默认值:html
作用域:http,server,location,if
2、alias:此命令只能存在于location区段中,他为nginx指令的文件路径提供别名,使nginx为指定的请求找到访问的方向,如果请求是http://192.168.1.228则由/var/www/1/;来提供服务,如果请求是http://192.168.1.228/123则由/var/www/1/1.1/;来提供服务。
作用域: location
3、error_page:指定错误日志存放位置
作用域:http,server,location.if
4、index:定义一个默认页面
语法:index index.html index.php
作用域:http,server,location
5、try_files:按顺序检查文件是否存在,返回第一个找到的文件。结尾的斜线表示为文件夹 -$uri/。如果所有的文件都找不到,则由location来处理。
##############################################################################################################################################################
客户端请求
1、keepailve-requests:设置单个keepalive的最大请求数量
默认值:100
语法:keepalive_requests 100;
作用域:http,server,location
2、keepalive_timeout:该指令定义一个keep-alive的时长,一般一个HTTP请求结束以后连接就关闭了,但是有时候为了节省性能可以保持这个连接,下次请求就直接用这个连接。
默认值:75
语法:keepalive_timeout 70;
作用域:http,server,location
3、send_timeout:设置超时时间,一旦超过设定的时间,nginx会关闭一个不活动的链接,一个状态变为肥活动的状态的那一刻,客户端停止传输数据。
默认值:60
语法:send_timeout 60;
作用域:http,server,location
4、client_body_xxx(不太理解,没有在环境中使用过)
#############################################################################################################################################################
MINE类型
types:发送http的头中Content-Type,改变其对页面的类型
作用域:http,server,location
##############################################################################################################################################################
限制和约束
1、limit_except:阻止来访者
语法:limit_except GET{
allow 192.168.1.1/24;
deny all;
}
作用域:location
2、limit_rate:对用户的传输率进行限制
默认值:无
语法:limit_rate 500k;
作用域:http,server,localtion,if
3、limit_rate_after:定义在limit_rate传输之前数据的总数
默认值:无
语法:limit_rate_after 10M;
作用域:http,server,location,if
4、satisfy:该指令定义了客户端是否需要所有条件都有效或者是至少一个条件有限才能被访问
作用域:location
##############################################################################################################################################################
文件处理和缓存
1、direction:不能与sendfile同时使用,允许nginx从存储驱动器上读取数据并且直接放入内存。
默认值:off
语法:Direction 5m;
作用域:http,server,location
2、open_file_cache:该命令允许启动缓存是,缓存的是与文件相关的信息,比如:文件描述符atime ctime mtime之类的
默认值:off
语法:open_file_cache_max=5000(缓存的最大条目) inactive=100(每一个缓冲条目的时间长度)
作用域:http,server,location
3、open_file_cache_errors:是否开启缓存错误文件
默认值:off
语法:open_file_cache_errors on;
作用域:http,server,location
4、open_file_cache_min_users:保护nginx的缓存条目,当一个缓存被访问3次,他将不会被删除,除非是nginx清除旧的条目才会被删除
默认值:1
语法:open_file_cache_min_uses 3;
作用域:http,server,location
5、open_file_cache_valid:启动文件缓存机制
默认值:60
语法:open_file_cache_valid 60;
作用域:http,server,location
##############################################################################################################################################################