Nginx详解 二:配置文件部分

文章目录

  • 1. Nginx 配置文件
    • 1.1 主配置文件
    • 1.2 子配置文件
    • 1.3 全局配置
      • 1.3.1 修改启动的进程数
      • 1.3.2 cpu和work进程绑定(nginx调优)
      • 1.3.3 修改PID路径
      • 1.3.4 nginx进程的优先级(work进程的优先级)
      • 1.3.5 调试work进程打开的文件的个数
      • 1.3.6 只有 master进程没有 work进程 (仅测试用)
  • 2. event 事件
  • 3. http设置
    • 3.1 http事件类型
    • 3.2 mime
    • 3.3 sever 下的 root
    • 3.4 server块构建虚拟主机
      • 3.4.1 基于域名
      • 3.4.2 基于端口
      • 3.4.3 基于IP地址
    • 3.5 路径别名-----alias
    • 3.6 localion模块
      • 3.6 语法规则
    • 3.7 基于四层的访问控制 ----- access模块
      • 3.7.1 IP地址访问限制(允许或拒绝特定的IP地址访问)
      • 3.7.2 请求方法访问控制(允许或拒绝特定HTTP请求方法)
      • 3.7.3 URI访问控制(允许或拒绝特定URI或URI模式的访问)
    • 3.8 验证模块
      • 3.8.1 htpasswd命令
      • 3.8.2 示例
    • 3.9 自定义错误页面
    • 3.10 修改日志位置存放
      • 3.10.1 示例
    • 3.11 检测文件是否存在
    • 3.12 keepalive ---长连接
      • 3.12.1 keepalive_timeout
      • 3.12.2 keepalive_requests
      • 3.12.3 keepalive_disable
    • 3.13 作为下载服务器配置
    • 3.13 其他设置

1. Nginx 配置文件

1.1 主配置文件

主配置文件:nginx.conf
在这里插入图片描述

#主配置文件格式main block:主配置段,即全局配置段,对http,mail都有效#事件驱动相关的配置   同步
event {...
}   
#http/https 协议相关配置段
http {...
}          
#默认配置文件不包括下面两个块
#mail 协议相关配置段
mail {...
}    
#stream 服务器相关配置段
stream {负载均衡...
}
#yum安装的nginx.conf示例
vim /etc/nginx/nginx.conf

在这里插入图片描述

1.2 子配置文件

子配置文件: include conf.d/*.confss

子配置文件一般在主配置文件的http部分。

http块中可以包含多个子配置文件,常见的子配置文件

server块:用于配置HTTP服务器的具体行为,包括监听的端口、虚拟主机的配置、请求处理逻辑等。

location块:用于指定不同URL请求的处理方式,例如静态文件的服务、反向代理等。

upstream块:用于配置反向代理的目标服务器列表。

include指令:用于引入其他的子配置文件,可以将一些通用的配置项单独放在一个文件中,然后通过include指令引入。

1.3 全局配置

1.3.1 修改启动的进程数

通过使用 auto 参数,Nginx 可以根据系统的负载情况智能地分配工作进程,以提供更好的性能和资源利用率。

修改配置文件中worker_processes项
vim /apps/nginx/conf/nginx.conf
#编辑主配置文件

在这里插入图片描述

nginx -s reopen
#重新加载
ps axo pid,cmd,psr,ni|grep nginx
#查看nginx的  worker数量

在这里插入图片描述

1.3.2 cpu和work进程绑定(nginx调优)

将Nginx工作进程绑定到指定的CPU核心极大减少了nginx的工作进程在不同的cpu核心上的来回跳转,减少了CPU对进程的资源分配与回收以及内存管理等,因此可以有效的提升nginx服务器的性能

worker_cpu_affinity 块指令用于控制 worker 进程与 CPU 的亲和性
vim /apps/nginx/conf/nginx.conf
#编辑配置文件user nginx;
worker_processes 2;
worker_cpu_affinity 00000001 00000010;
#绑定到  第一 和 第二块cpu上
error_log /apps/nginx/logs/error.log;
#指定报错文件的路径
nginx -t
#语法检查

在这里插入图片描述

ps axo pid,cmd,psr,ni|grep -v grep |grep nginx|sort -n

在这里插入图片描述

1.3.3 修改PID路径

vim /app/nginx/conf/nginx.conf

在这里插入图片描述

1.3.4 nginx进程的优先级(work进程的优先级)

当你想将nginx的work进程的优先级调高 可以使用nice设置

nice的优先级是  -2019worker_priority 0; 
#工作进程优先级,-20~20(19)
#首先查看优先级ps axo pid,cmd,psr,ni|grep nginx|sort -n
#查看默认优先级,默认优先级为0

在这里插入图片描述

worker_priority -20;
#添加此项

在这里插入图片描述

nginx -t
#语法检查

在这里插入图片描述

nginx -s reload
#重新加载ps axo pid,cmd,psr,ni|grep nginx|sort -n
#查看优先级

在这里插入图片描述

1.3.5 调试work进程打开的文件的个数

所有worker进程能打开的文件数量上限,包括:Nginx的所有连接(例如与代理服务器的连接等),而不仅仅是与客户端的连接,另一个考虑因素是实际的并发连接数不能超过系统级别的最大打开文件数的限制.最好与ulimit -n 或者limits.conf的值保持一致,只要机器性能够多加几个也没问题

vim /apps/nginx/conf/nginx.conf
#首先修改主配置文件#添加
worker_rlimit_nofile 65536; 

在这里插入图片描述

临时修改

ulimit -n 30000 
#修改单个进程能打开的最大文件数为 30000
#仅应用于当前会话即不会永久修改限制ulimit -a 
#显示当前用户的所有资源限制信息

在这里插入图片描述
永久修改(需要修改pam认证模块)

vim /etc/security/limits.conf 
#最后加入*                soft    core            unlimited
*                hard    core            unlimited
*                soft    nproc           1000000
*                hard    nproc           1000000
*                soft    nofile          1000000
*                hard    nofile          1000000
*                soft    memlock         32000
*                hard    memlock         32000
*                soft    msgqueue        8192000
*                hard    msgqueue        8192000`nproc`(最大进程数限制)的软限制和硬限制都设置为 1000000,当前用户在单个会话中可以创建的最大进程数为 1000000`nofile`(打开文件描述符限制)的软限制和硬限制都设置为 1000000,这意味着当前用户在单个会话中可以使用的最大文件描述符数将被限制为 1000000。软限制是软性限制,用户可以根据需要进行调整,而硬限制是硬性限制,一旦设定,用户无法超过该限制`memlock`(锁定内存限制)的软限制和硬限制都设置为 32000,这意味着当前用户在单个会话中可以锁定的最大内存量为 32000KB`msgqueue`(消息队列限制)的软限制和硬限制都设置为 8192000,这意味着当前用户在单个会话中可以使用的最大消息队列大小为 8192000字节

在这里插入图片描述

reboot
#重启生效ulimit -a
#显示当前用户的所有资源限制信息

在这里插入图片描述

1.3.6 只有 master进程没有 work进程 (仅测试用)

实际生产中使用较少

master_process off|on;
#是否开启Nginx的master-worker工作模式,仅用于开发调试场景,默认为on

2. event 事件

在Nginx的主配置文件中,events事件用于配置Nginx服务器的事件模块相关参数,控制Nginx服务器在处理连接请求时的行为

常见配置参数

  • worker_connections:指定每个工作进程可以同时处理的最大连接数。

  • multi_accept:指定是否一次接受多个连接。默认情况下,Nginx在每个循环中只接受一个连接,但设置multi_accept为"on"后可以同时接受多个连接。

  • use:指定Nginx使用的事件模块。常见的事件模块有"epoll"、"kqueue"和"eventport"等。

#示例
events {worker_connections  2048;  #设置单个工作进程的最大并发连接数use epoll;accept_mutex on; onmulti_accept on;           
#指定了每个工作进程可以处理的最大连接数为2048,启用了多个连接同时接受,以及使用了epoll事件模块

3. http设置

3.1 http事件类型

include:引入其他配置文件,通常用于加载 MIME 类型配置文件。

default_type:指定默认的 MIME 类型。

server:定义一个或多个虚拟主机。

listen:指定该虚拟主机监听的端口。

server_name:指定域名,用于匹配请求的主机头。

root:指定虚拟主机的根目录。

location:用于匹配不同的 URL,并定义相关配置规则。

#基础格式
http {......  #各server的公共配置server {    #每个server用于定义一个虚拟主机,第一个server为默认虚拟服务器...}server {     ...server_name   #虚拟主机名root     #主目录alias     #路径别名location [OPERATOR] URL {     #指定URL的特性...if CONDITION {...}}}
}
#协议配置详解
http {include       mime.types; #导入支持的文件类型,是相对于/apps/nginx/conf的目录default_type application/octet-stream; #除mime.types中文件类型外,设置其它文件默认类型,访问其它类型时会提示下载不匹配的类型文件
#日志配置部分#log_format main '$remote_addr - $remote_user [$time_local] "$request" '#                 '$status $body_bytes_sent "$http_referer" '#                 '"$http_user_agent" "$http_x_forwarded_for"';#access_log logs/access.log main;
#自定义优化参数sendfile       on; #tcp_nopush     on; #在开启了sendfile的情况下,合并请求后统一发送给客户端。#tcp_nodelay   off; #在开启了keepalived模式下的连接是否启用TCP_NODELAY选项,当为off时,延迟0.2s发送,默认On时,不延迟发送,立即发送用户响应报文。#keepalive_timeout 0;keepalive_timeout  65 65; #设置会话保持时间,第二个值为响应首部:keepAlived:timeout=65,可以和第一个值不同#gzip on; #开启文件压缩server {listen       80; #设置监听地址和端口server_name localhost; #设置server name,可以以空格隔开写多个并支持正则表达式,如:*.kgc.com www.kgc.* ~^www\d+\.kgc\.com$ default_server #charset koi8-r; #设置编码格式,默认是俄语格式,建议改为utf-8#access_log logs/host.access.log main;location / {root   html;index index.html index.htm;}#error_page 404             /404.html;# redirect server error pages to the static page /50x.html#error_page   500 502 503 504 /50x.html; #定义错误页面location = /50x.html {root   html;}# proxy the PHP scripts to Apache listening on 127.0.0.1:80##location ~ \.php$ { #以http的方式转发php请求到指定web服务器#   proxy_pass   http://127.0.0.1;#}# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000##location ~ \.php$ { #以fastcgi的方式转发php请求到php处理#   root           html;#   fastcgi_pass   127.0.0.1:9000;#   fastcgi_index index.php;#   fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;#   include       fastcgi_params;#}# deny access to .htaccess files, if Apache's document root# concurs with nginx's one##location ~ /\.ht { #拒绝web形式访问指定文件,如很多的网站都是通过.htaccess文件
来改变自己的重定向等功能。#   deny all;#}location ~ /passwd.html {deny all;}}# another virtual host using mix of IP-, name-, and port-based configuration##server { #自定义虚拟server
3.3.1 MIME
范例: 识别php文件为text/html#   listen       8000;#   listen       somename:8080;#   server_name somename alias another.alias;#   location / { #       root   html;#       index index.html index.htm; #指定默认网页文件,此指令由
ngx_http_index_module模块提供#   }#}# HTTPS server##server { #https服务器配置#   listen       443 ssl;#   server_name localhost;#   ssl_certificate     cert.pem;#   ssl_certificate_key cert.key;#   ssl_session_cache   shared:SSL:1m;#   ssl_session_timeout 5m;#   ssl_ciphers HIGH:!aNULL:!MD5;#   ssl_prefer_server_ciphers on;#   location / {#       root   html;#       index index.html index.htm;#   }#}

3.2 mime

在Nginx中,“mime” 是一种配置指令,用于设置 MIME 类型与文件扩展名的映射关系

vim  /etc/nginx/mime.types
#查看当前nginx配置mime类型表

3.3 sever 下的 root

在Nginx配置中,"root"指令用于设置服务器块(server block)的根目录,即指明软件的根目录。

通常,"root"指令位于Nginx配置文件中的服务器块(server block)中。

server {listen 80;server_name example.com;root /var/www/html;location / {...}...
}
#指定了服务器块的根目录为"/var/www/html"
#访问该服务器的网站时,Nginx会在"/var/www/html"文件夹中查找并提供相应的静态文件

3.4 server块构建虚拟主机

以PC端和手机端示例:

3.4.1 基于域名

vim /etc/nginx/nginx.conf
#修改配置文件 要放在  http 模块里#添加
include    /apps/nginx/conf.d/*.conf;

在这里插入图片描述

mkdir -p /apps/nginx/conf.d/
#建立子配置文件vim pc.conf 
vim mobile.conf 
#分别编写PC端和手机端配置文件#PC端
server{listen   192.168.67.100:80;server_name www.pc.com;location / {root  /data/nginx/html/pc;}
}#mobile端
server {listen 80;server_name www.mobile.com;root /data/nginx/html/mobile/;
}
mkdir /data/nginx/html/pc -pv
mkdir /data/nginx/html/mobile -pv
#构建数据文件夹

在这里插入图片描述
在这里插入图片描述

echo pc > /data/nginx/html/pc/index.html
echo moblie > /data/nginx/html/mobile/index.html#构建数据文件

在这里插入图片描述
在这里插入图片描述

##切换到测试机
#编辑本地hosts文件,添加地址映射vim /etc/hosts

在这里插入图片描述

#测试是否成功
curl www.mobile.com
curl www.pc.com

在这里插入图片描述

3.4.2 基于端口

服务端
#编辑子配置文件 mobile.conf,修改端口号
server{listen 192.168.67.100:8080;server_name www.mobile.com;root /data/nginx/html/moblie;}#computer.conf 不变
server{listen   192.168.67.100:80;server_name www.pc.com;root  /data/nginx/html/pc;
}
#测试
curl 192.168.67.100:80
curl 192.168.67.100:8080

在这里插入图片描述

3.4.3 基于IP地址

#服务端
#配置新网卡

在这里插入图片描述

#编辑子配置文件mobile.conf,修改IP地址 
cd /apps/nginx/conf.d/
vim mobile.confserver{listen 192.168.67.155:80;server_name www.mobile.com;root /data/nginx/html/mobile;}#computer.conf不变
server{listen   192.168.67.100:80;server_name www.pc.com;root  /data/nginx/html/pc;
}nginx -t reload
#重新加载
#测试
curl 192.168.67.155
curl 192.168.67.100

在这里插入图片描述

3.5 路径别名-----alias

在 Nginx 中,alias 用于创建一个路径别名的指令。

别名可以用于将文件或目录从一个位置映射到另一个位置,提供更灵活的访问控制

server {listen 192.168.67.155:80;server_name www.mobile.com;location /test {alias /data/nginx/html/mobile;
}
}

在这里插入图片描述

3.6 localion模块

在一个server中location配置段可存在多个,用于实现从uri到文件系统的路径映射;

#官方帮助
http://nginx.org/en/docs/http/ngx_http_core_module.html

3.6 语法规则

#格式
location [ = | ~ | ~* | ^~ ] uri { ... }=              	#用于标准uri前,需要请求字串与uri精确匹配,大小敏感,如果匹配成功就停止向下匹配并立即处理请求
^~            	#用于标准uri前,表示包含正则表达式,并且匹配以指定的正则表达式开头,对URI的最左边部分做匹配检查,不区分字符大小写
~              	#用于标准uri前,表示包含正则表达式,并且区分大小写
~*            	#用于标准uri前,表示包含正则表达式,并且不区分大写
不带符号   	  	 #匹配起始于此uri的所有的uri\             	#用于标准uri前,表示包含正则表达式并且转义字符。可以将 . * ?等转义为普通符号#匹配优先级从高到低:
=, ^~, ~/~*, 不带符号
#示例
location = / {[ configuration A ]
}
location / {[ configuration B ]
}
location /documents/ {[ configuration C ]
}
location ^~ /images/ {[ configuration D ]
}
location ~* \.(gif|jpg|jpeg)$ {[ configuration E ]
}访问路径是    /                # A  B 能匹配,A优先级高 ,A   
访问路径是    /index.html     #只有B
访问路径是    /documents/document.html  #B C能匹配 C精确度高 所以C
访问路径是    /images/1.gif     # B D E 能匹配,D的优先级高,D 
访问路径是    /documents/1.jpg   # B C E 能匹配, E

3.7 基于四层的访问控制 ----- access模块

Nginx的access模块允许用户定义基于IP地址、请求方法、URI等条件的访问规则,以控制客户端对NGINX服务器上特定资源的访问

3.7.1 IP地址访问限制(允许或拒绝特定的IP地址访问)

location / {deny  192.168.67.1;
}
#仅拒绝192.168.67.1访问
location / {allow 192.168.67.0/24;deny all;
}
#仅允许192.168.67.0网段访问

3.7.2 请求方法访问控制(允许或拒绝特定HTTP请求方法)

if ($request_method != GET) {return 403;
}
#所有不是GET方法的访问返回403

3.7.3 URI访问控制(允许或拒绝特定URI或URI模式的访问)

location /image {deny all;
}
#拒绝特定URI的访问
location ~ ^/www/ {allow all;
}
#允许特定URI模式的访问

3.8 验证模块

3.8.1 htpasswd命令

yum install  httpd-tools -y 
#安装命令

在这里插入图片描述

#常用命令
-c  代表新建用户名和密码对应的文件
-b  将密码跟在用户名后
第一次
htpasswd -c  文件路径 姓名        	 交互式生成密码
htpasswd -bc 文件路径 姓名 密码   		直接将密码跟在后面 
非第一次
htpasswd     文件路径 姓名        	 交互式生成密码
htpasswd -b  文件路径 姓名 密码   		直接将密码跟在后面 

3.8.2 示例

vim /apps/nginx/conf.d/pc.conf
#编辑子配置文件#配置验证模块
server {listen 192.168.67.100:80;server_name www.scj.com;location / {root /data/nginx/html/pc;}location /admin{root /data/nginx/html/pc;auth_basic    "admin site";#提示信息,不是所有浏览器都有用auth_basic_user_file /apps/nginx/conf.d/.httpuser;#密码文件存放位置}
}nginx -s reload
#重新加载
htpasswd -bc /apps/nginx/conf.d/.httpuser scj 123456
#创建一个.htpasswd文件,并添加一个使用Basic认证的用户名和密码

cat /apps/nginx/conf.d/.httpuser 
#查看是否创建成功

在这里插入图片描述

#验证
打开虚拟机内置火狐浏览器
192.168.67.100/admin

在这里插入图片描述

3.9 自定义错误页面

vim /apps/nginx/conf/nginx.conf
~~~![在这里插入图片描述](https://img-blog.csdnimg.cn/376b3a0d97f3424f84c1242484eee9e7.png)
配置文件中可用位置:http, server, location, if in location
~~~bash
#格式
error_page code ... [=[response]] uri;
页面错误代码  
error_page    固定写法
code          响应码
=             可以将响应码转换
uri           访问连接

示例

#新建报错显示目录和文件
mkdir /data/nginx/html/pc/error/
cd  /data/nginx/html/pc/error/vim error.html #错误页面

在这里插入图片描述

vim /apps/nginx/conf.d/pc.conf
#编辑子配置文件自定义 错误码
server {listen 192.168.67.100:80;server_name www.scj.com;root /data/nginx/html/pc;error_page 404 =302 /error.html;#把错误码 404 指定成302    注意此处的error.html 需要真实存在建立的页面必须一致location = /error.html {root /data/nginx/html/pc/error/;}location / {root /data/nginx/html/pc;}}nginx -t reload
#重新加载
在随便一个浏览器随便输入一个错误的连接,观察页面

在这里插入图片描述

3.10 修改日志位置存放

通过修改日志的路径,可以实现不同网站的日志单独存放

3.10.1 示例

mkdir  /data/nginx/logs
#新建日志存放目录
#编辑子配置文件,指定日志存放位置
vim /apps/nginx/conf.d/mobile.confserver{listen 80;server_name  www.mobile.com;root /data/nginx/html/mobile/;error_log    /data/nginx/logs/m_error.log;access_log  /data/nginx/logs/m_access.log;
}vim /apps/nginx/conf.d/pc.confserver{listen 80;server_name  www.pc.com;root /data/nginx/html/pc;error_log    /data/nginx/logs/pc_error.log;access_log  /data/nginx/logs/pc_access.log;
}nginx -s  reload
#重新加载

在这里插入图片描述

3.11 检测文件是否存在

Nginx 的 try_files 指令用于指定在资源文件不存在时如何处理请求。
默认开启
用于server、location

#语法格式
#方式一
try_files file ... uri;file 表示要尝试的文件路径,
uri 则表示当文件不存在时转发请求的路径。#方式二
try_files file ... =code;=code 表示文件不存在时 返回的状态码
#只会返回指定的 HTTP 响应码,而不会转发请求到指定的 uri

示例

#服务端
mkdir /data/nginx/html/pc/about 
#新建寻找失败跳转页面echo "default page" >> /data/nginx/html/pc/about/default.htmlvim /apps/nginx/conf.d/pc.conf
#修改配置文件
server{
listen   192.168.67.100:80;
server_name www.pc.com;
root /data/nginx/html/pc;
location / {
root  root /data/nginx/html/pc;
try_files $uri  $uri.html $uri/index.html
/about/default.html;
}
}#建立测试文件
cd /data/nginx/html/pc/;touch test 
echo "find it" >> test 

在这里插入图片描述

#客户端
curl www.pc.com/test
#查找一个存在的文件

在这里插入图片描述

curl www.pc.com/tes
#查找一个不存在的文件

在这里插入图片描述

3.12 keepalive —长连接

HTTP Keep-Alive 功能用于实现长连接,允许客户端和服务器之间的 TCP 连接在发送完一个请求后保持打开状态,以便在同一连接上发送多个请求和响应。

可以加在全局或者 server 。

keepalive 配置指令仅对 HTTP/1.0 和 HTTP/1.1 版本的连接有效。

对于 HTTP/2 连接,keepalive 功能是默认启用的,并且无需额外配置。

3.12.1 keepalive_timeout

keepalive_timeout timeout [header_timeout];  
#设定保持连接超时时长,0表示禁止长连接,默认为75s,通常配置在http字段作为站点全局配置示例:
keepalive_timeout 60 65;
#开启长连接后,返回客户端的会话保持时间为60s,单次长连接累计请求达到指定次数请求或65秒就会被断开,后面的60为发送给客户端应答报文头部中显示的超时时间设置为60s:如不设置客户端将不显示超时时间。

当一个客户端与服务器之间的连接完成一个请求后的等待时间。
如果在这个时间内没有收到新的请求,服务器会关闭连接。
这个时间是以秒为单位的,默认值是 75 秒。

3.12.2 keepalive_requests

keepalive_requests number;  
#在一次长连接上所允许请求的资源的最大数量,默认为100次示例:
keepalive_requests 3;
#最大三个连接

3.12.3 keepalive_disable

keepalive_disable none | browser ...;  
#对哪种浏览器禁用长连接

3.13 作为下载服务器配置

ngx_http_autoindex_module 模块处理以斜杠字符 “/” 结尾的请求,并生成目录列表,可以做为下载服务配置使用

http://nginx.org/en/docs/http/ngx_http_autoindex_module.html
#官方文档
autoindex on | off;
#自动文件索引功能,默为off
autoindex_exact_size on | off;  
#计算文件确切大小(单位bytes),off 显示大概大小(单位K、M),默认on
autoindex_localtime on | off ; 
#显示本机时间而非GMT(格林威治)时间,默认off
autoindex_format html | xml | json | jsonp; 
#显示索引的页面文件风格,默认html
limit_rate rate; 
#限制响应客户端传输速率(除GET和HEAD以外的所有方法),单位B/s,即bytes/second,默认值0,表示无限制,此指令由ngx_http_core_module提供
set $limit_rate
#变量提供 限制   变量优先级高
示例:
location /download {autoindex on;#开启下载服务器autoindex_exact_size on;#开启确切大小不建议开启autoindex_localtime on;#使用当地时间limit_rate 1024k;#所有人限速1024k,默认单位是字节数set $limit_rate 2M;#谁先生效alias /opt/download;}

3.13 其他设置

open_file_cache off;  #是否缓存打开过的文件信息
open_file_cache max=N [inactive=time];
#nginx可以缓存以下三种信息:
(1) 文件元数据:文件的描述符、文件大小和最近一次的修改时间
(2) 打开的目录结构
(3) 没有找到的或者没有权限访问的文件的相关信息 
max=N:#可缓存的缓存项上限数量;达到上限后会使用LRU(Least recently used,最近最少使用)算法实现管理
inactive=time:#缓存项的非活动时长,在此处指定的时长内未被命中的或命中的次数少于open_file_cache_min_uses    
#指令所指定的次数的缓存项即为非活动项,将被删除 
open_file_cache_valid time; 
#缓存项有效性的检查验证频率,默认值为60s 
open_file_cache_errors on | off; 
#是否缓存查找时发生错误的文件一类的信息,默认值为off
open_file_cache_min_uses number; 
#open_file_cache指令的inactive参数指定的时长内,至少被命中此处指定的次数方可被归类为活动项,默认值为1范例:
open_file_cache max=10000 inactive=60s; 
#最大缓存10000个文件,非活动数据超时时长60s
open_file_cache_valid   60s;  
#每间隔60s检查一下缓存数据有效性
open_file_cache_min_uses 5; 
#60秒内至少被命中访问5次才被标记为活动数据
open_file_cache_errors   on;
#缓存错误信息limit_except method ... { ... },仅用于location
#限制客户端使用除了指定的请求方法之外的其它方法 
method:GET, HEAD, POST, PUT, DELETE,MKCOL, COPY, MOVE, OPTIONS, PROPFIND, 
PROPPATCH, LOCK, UNLOCK, PATCH
limit_except GET {allow 192.168.67.101;deny all;
}
#除了GET和HEAD 之外其它方法仅允许192.168.67.0/24网段主机使用

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/87775.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MySQL概述,架构原理

一.MySQL简介 MySQL是一个关系型数据库管理系统,由瑞典的MySQL AB公司开发,后被oracle公司收购,MySQL是当下最流行的关系型数据库管理系统之一,在WEB应用方面,MySQL是最好的RDBMS(Relational Database Man…

Android中的APK打包与安全

aapt2命令行实现apk打包 apk文件结构 classes.dex:Dex,即Android Dalvik执行文件 AndroidManifest.xml:工程中AndroidManifest.xml编译后得到的二进制xml文件 META-INF:主要保存各个资源文件的SHA1 hash值,用于校验…

浙大陈越何钦铭数据结构07-图6 旅游规划

题目: 有了一张自驾旅游路线图,你会知道城市间的高速公路长度、以及该公路要收取的过路费。现在需要你写一个程序,帮助前来咨询的游客找一条出发地和目的地之间的最短路径。如果有若干条路径都是最短的,那么需要输出最便宜的一条路径。 输入…

数据结构之单链表java实现

基本概念 链表是一种物理存储结构上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中指针链接次序实现的。和数组相比较,链表不需要指定大小,也不需要连续的地址。 单链表的基本设计思维是,利用结构体的设置&#xff0c…

javacv基础02-调用本机摄像头并预览摄像头图像画面视频

引入架包&#xff1a; <dependency><groupId>org.openpnp</groupId><artifactId>opencv</artifactId><version>4.5.5-1</version></dependency><dependency><groupId>org.bytedeco</groupId><artifactId…

镜之Json Compare Diff

前言 “镜” 寓意是凡事都有两面性,Json 对比也不例外! 因公司业务功能当中有一个履历的功能,它有多个版本的 JSON 数据需要对比出每个版本的不同差异节点并且将差异放置在一个新的 JSON 当中原有结构不能变动,差异节点使用数组对象的形式存储,前端点击标红即可显示多个版本的节…

Python绘图系统9:新建绘图类型控件,实现混合类型图表

文章目录 绘图类型控件改造AxisList更改绘图逻辑源代码 Python绘图系统&#xff1a; &#x1f4c8;从0开始实现一个三维绘图系统自定义控件&#xff1a;坐标设置控件&#x1f4c9;坐标列表控件&#x1f4c9;支持多组数据的绘图系统图表类型和风格&#xff1a;散点图和条形图&a…

春秋云镜 :CVE-2020-21650(MyuCMS后台rce)

一、题目 靶标介绍&#xff1a; MyuCMS开源内容管理系统,采用ThinkPHP开发而成的社区商城聚合&#xff0c;插件&#xff0c;模板&#xff0c;轻便快捷容易扩展 其2.2版本中admin.php/config/add方法存在任意命令执行漏洞. 进入题目&#xff1a; exp&#xff1a; url/index.p…

OpenGL精简案例一

文章目录 案例一 绘制点线面定义Renderer顶点着色器片段着色器内置的特殊变量 应用场景工具ShaderHelper工具 TextResourceReader效果图如下 结论 案例一 绘制点线面 定义Renderer import android.content.Context; import android.opengl.GLES20; import android.opengl.GLSu…

基于空洞卷积DCNN与长短期时间记忆模型LSTM的dcnn-lstm的回归预测模型

周末的时候有时间鼓捣的一个小实践&#xff0c;主要就是做的多因子回归预测的任务&#xff0c;关于时序数据建模和回归预测建模我的专栏和系列博文里面已经有了非常详细的介绍了&#xff0c;这里就不再多加赘述了&#xff0c;这里主要是一个模型融合的实践&#xff0c;这里的数…

Hbase-技术文档-java.net.UnknownHostException: 不知道这样的主机。 (e64682f1b276)

问题描述&#xff1a; 在使用spring-boot操作habse的时候&#xff0c;在对habse进行操作的时候出现这个问题。。 报错信息如下&#xff1a; 第一段报错&#xff1a; 第二段报错&#xff1a; java.net.UnknownHostException: e64682f1b276 问题定位解读&#xff1a; 错误 ja…

Java 体系性能优化工具

Java 体系性能优化 目录概述需求&#xff1a; 设计思路实现思路分析1.oom 异常来说&#xff1a;2.visualvm3.Arthas4.JProfiler &#xff08;全面&#xff09;5.jmeter 特有 参考资料和推荐阅读 Survive by day and develop by night. talk for import biz , show your perfect…