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.mzph.cn/news/57597.shtml

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

相关文章

数据结构——栈

栈 栈的理解 咱们先不管栈的数据结构什么,先了解栈是什么,栈就像一个桶一样,你先放进去的东西,被后放进的的东西压着,那么就需要把后放进行的东西拿出才能拿出来先放进去的东西,如图1,就像图1中…

2023腾讯云服务器多少钱一年?CPU内存带宽配置报价

腾讯云服务器租用价格表:轻量应用服务器2核2G4M带宽112元一年,540元三年、2核4G5M带宽218元一年,2核4G5M带宽756元三年、云服务器CVM S5实例2核2G配置280.8元一年、GPU服务器GN10Xp实例145元7天,腾讯云服务器网长期更新腾讯云轻量…

入门vue——创建vue脚手架项目 以及 用tomcat和nginx分别部署vue项目(vue2)

入门vue——创建vue脚手架项目 以及 用tomcat和nginx分别部署vue项目(vue2) 1. 安装npm2. 安装 Vue CLI3. 创建 vue_demo1 项目(官网)3.1 创建 vue_demo1 项目3.1.1 创建项目3.1.2 解决 sudo 问题 3.2 查看创建的 vue_demo1 项目3…

【GAMES202】Real-Time Environment Mapping2—实时环境光照2

一、Shadow from Environment Lighting 上篇我们说了给定Environment,如何计算一个着色点的Shading,但没说Shadow。而事实上,实时渲染中很难做到环境光的Shadow。 原因也很容易想到,一种观点我们把环境光当成多光源问题&#xff…

PCB电路板电压电流监测软件

PCB电路板电流监测软件详细设计说明书是一个详细描述软件系统设计和实现的文档,它提供了软件系统的架构、功能模块、接口设计、数据存储和处理、界面设计、数据库设计、系统测试、部署和维护计划等方面的详细信息。模拟量采集/老化房采集软件 该文档的目的是为了确保…

ssm+vue理发店会员管理系统源码和论文

ssmvue理发店会员管理系统源码和论文089 开发工具:idea 数据库mysql5.7 数据库链接工具:navcat,小海豚等 技术:ssm 摘 要 网络技术和计算机技术发展至今,已经拥有了深厚的理论基础,并在现实中进行了充分运用&a…

【从零开始学习JAVA | 第四十六篇】处理请求参数

前言: 在我们之前的学习中,我们已经基本学习完了JAVA的基础内容,从今天开始我们就逐渐进入到JAVA的时间,在这一大篇章,我们将对前后端有一个基本的认识,并要学习如何成为一名合格的后端工程师。今天我们介绍…

ssm+vue线上体验馆管理系统源码和论文

ssmvue线上体验馆管理系统源码和论文085 开发工具:idea 数据库mysql5.7 数据库链接工具:navcat,小海豚等 技术:ssm 摘 要 现代经济快节奏发展以及不断完善升级的信息化技术,让传统数据信息的管理升级为软件存储&#xff0…

python web GUI框架-NiceGUI 教程(一)

python web GUI框架-NiceGUI 教程(一) streamlit可以在一些简单的场景下仍然推荐使用,但是streamlit实在不灵活,受限于它的核心机制,NiceGUI是一个灵活的web框架,可以做web网站也可以打包成独立的exe。 基…

hdfs操作

hadoop fs [generic options] [-appendToFile … ] [-cat [-ignoreCrc] …] [-checksum …] [-chgrp [-R] GROUP PATH…] [-chmod [-R] <MODE[,MODE]… | OCTALMODE> PATH…] [-chown [-R] [OWNER][:[GROUP]] PATH…] [-copyFromLocal [-f] [-p] [-l] [-d] … ] [-copyTo…

电子价签如何让电信门店数字化事半功倍?

数字化转型&#xff0c;高效的工具首先跟上。早在2020年&#xff0c;深圳电信就与云里物里开展商业合作&#xff0c;在深圳所有电信营业厅安装云里物里的ESL电子标签&#xff0c;以替代传统纸质标签的显示。经过几年的效果认证&#xff0c;云里物里的数字化智显设备得到了深圳电…

Web3.0时代什么时候到来,Web3.0有什么机会?

&#x1f3c6;作者简介&#xff0c;黑夜开发者&#xff0c;CSDN领军人物&#xff0c;全栈领域优质创作者✌&#xff0c;CSDN博客专家&#xff0c;阿里云社区专家博主&#xff0c;2023年6月CSDN上海赛道top4。 &#x1f3c6;数年电商行业从业经验&#xff0c;历任核心研发工程师…

什么是亚马逊类目核心关键词?

亚马逊类目核心关键词是指在亚马逊平台上&#xff0c;与特定产品类别相关且具有较高搜索量和竞争度的关键词。这些关键词在产品标题、描述、属性和搜索关键字等位置使用&#xff0c;有助于提高产品的曝光度和搜索排名&#xff0c;并吸引潜在买家的注意。选择适当的核心关键词可…

Flink Kubernates Native - 入门

创建 namespace [rootCentOSA flink-1.17.1]# kubectl create ns flink-native [rootCentOSA flink-1.17.1]# kubectl config set-context --current --namespaceflink-native命令空间添加资源限制 [rootCentOSA flink-1.17.1]# vim namespace-ResourceQuota.yamlapiVersion:…

IDEA的maven想显示层级关系,而非平级

新版和旧版的IDEA的位置不一样&#xff0c;2023.2.1的版本在右上角的“” 这个位置 如图所示&#xff1a; 然后点击按模块分组&#xff1a;

在项目中快速搭建机器学习的流程

在软件开发领域&#xff0c;机器学习框架发挥着关键作用&#xff0c;为开发人员提供强大的人工智能工具、库和算法&#xff0c;以有效地利用机器学习的潜力。从本质上讲&#xff0c;机器学习使计算机能够从数据中学习并做出预测或决策&#xff0c;而无需明确编程。 机器学习框…

腾讯云服务器配置CPU内存怎么选?带宽多大合适?

腾讯云服务器配置如何选择&#xff1f;CPU内存、带宽和系统盘怎么选择合适&#xff1f;个人用户可以选择轻量应用服务器&#xff0c;企业用户可以选择云服务器CVM&#xff0c;2核2G3M带宽轻量服务器95元一年、2核4G5M服务器168元一年&#xff0c;企业用户可以选择标准型S5云服务…

Java 大厂面试 —— 常见集合篇 List HashMap 红黑树

23Java面试专题 八股文面试全套真题&#xff08;含大厂高频面试真题&#xff09;多线程_软工菜鸡的博客-CSDN博客 常见集合篇-01-集合面试题-课程介绍 02-算法复杂度分析 2 List相关面试题 2.1 数组 2.1.1 数组概述 数组&#xff08;Array&#xff09;是一种用连续的内存空…

Visual Studio中Linux开发头文件intellisense问题的解决办法

文章目录 前言个人环境 SSH到WSL复制文件后记 前言 最近在用我心爱的Visual Studio配合WSL2做一些Linux开发&#xff0c;但是有一个问题&#xff0c;就是当我#include <sys/socket.h>&#xff0c;会提示找不到文件 我尝试了各种姿势&#xff0c;包括修改CMakeSettings.…

与面试官互动:建立积极的技术讨论氛围

&#x1f337;&#x1f341; 博主猫头虎 带您 Go to New World.✨&#x1f341; &#x1f984; 博客首页——猫头虎的博客&#x1f390; &#x1f433;《面试题大全专栏》 文章图文并茂&#x1f995;生动形象&#x1f996;简单易学&#xff01;欢迎大家来踩踩~&#x1f33a; &a…