08 上 nginx模块

发布时间:2022-07-01 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了08 上 nginx模块脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

1、目录索引模块

1.开启目录索引

语法: autoindex on | off;默认: autoindex off;位置: http, server, location

2.格式化文件大小

语法: autoindex_exact_size on | off;默认: autoindex_exact_size on;位置: http, server, location

3.输出的格式

语法: autoindex_format htML | XMl | JSON | jsonp;默认: autoindex_format html;位置: http, server, location

4.使用时区

语法: autoindex_localtime on | off;默认: autoindex_localtime off;位置: http, server, location

2、访问限制模块

allow: 允许IP访问

deny: 禁止IP访问

语法: allow address | CIDR | unix: | all;默认: —位置: http, server, location, limIT_except语法: deny address | CIDR | unix: | all;默认: —位置: http, server, location, limit_except

备注:

address :ip地址CIDR : 网段unix: socket文件all : 所有

案例1:只允许192.168.15.1来访问

08 上 nginx模块

 

08 上 nginx模块

08 上 nginx模块

08 上 nginx模块

案例2:只允许192.168.15.0来访问。

allow 192.168.15.0/24;
deny all;

案例3:要求禁止192.168.15.1来访问。

deny 192.168.15.1;
allow all;

3、认证模块

1.需要先安装httpd-tools

yum install httpd-tools -y

2.语法

语法: auth_basic string | off; #如果跟string,就代表开启。默认: auth_basic off;位置: http, server, location, limit_except语法: auth_basic_user_file file;默认: —位置: http, server, location, limit_except

3.配置密码文件

htpasswd -c /etc/nginx/auth dzg

08 上 nginx模块

08 上 nginx模块

4.配置server

auth_basic "This is auth_basic!";
auth_basic_user_file /etc/nginx/auth;

08 上 nginx模块

5.重启nginx并测试

08 上 nginx模块

6.在命令行中的访问方式

curl -H'Host: index.test.COM' http://dzg:123456@192.168.15.8

08 上 nginx模块

4、nginx状态模块

1.语法

语法: stub_status;默认: —位置: server, location

2.使用

location /status {
      stub_status;
    }

08 上 nginx模块

3.重启nginx并测试

http://index.test.com/status

08 上 nginx模块

Active connections:当前活动客户端连接数,包括等待连接。accepts :总的连接次数handled:已经处理的总连接数requests:客户端请求的总数Reading:nginx正在读取请求头的当前连接数Writing:nginx将响应写回客户端的当前连接数Waiting:当前等待请求的空闲客户端连接数

5、限制连接数模块

ngx_http_limit_conn_module
创建一个内存空间存放访问者的IP设置每一个访问者的同时连接次数

1.语法

#设置限制的空间
Syntax: limit_conn_zone key zone=name:size;
Default:    —
Context:    http
 
limit_conn_zone     #设置空间的模块
key                 #指定空间存储的内容
zone                #指定空间
=name               #空间名字
:size;              #空间的大小
 
#调用限制的空间
Syntax: limit_conn zone number;
Default:    —
Context:    http, server, location
 
limit_conn          #调用空间的模块
zone                #空间的名字
number;             #指定可以同时连接的次数

2.使用

vim /etc/nginx/conf.d/game1.conf

# 创建一个叫linux的空间,主要用来存放客户端IP,大小是10M
limit_conn_zone $remote_addr zone=linux:10m;


server{

    server_name game1.test.com;
    listen 80;
    location / {
      # 调用linux空间,限制连接数是1
      limit_conn linux 1;
     
      root /usr/share/nginx/HTML5-mario;
      index index.html;

}
}

08 上 nginx模块

3.重启nginx

Systemctl restart nginx

4.配置hosts文件

vim /etc/hosts
#192.168.15.8 game1.test.com

08 上 nginx模块

5.测试

ab -c 200 -n 10000 http://game1.test.com/

08 上 nginx模块

6、限制请求数模块

创建一个内存空间存放访问者的IP设置每一个访问者的同时请求次数

1.语法

#设置空间的语法
Syntax: limit_req_zone key zone=name:size rate=rate [sync];
Default:    —
Context:    http
 
limit_req_zone          #设置空间的模块
key                     #空间存储的内容
zone                    #指定空间
=name                   #空间的名字
:size                   #空间的大小
rate=rate [sync];       #读写速率
 
#调用的语法
Syntax: limit_req zone=name [burst=number] [nodelay | delay=number];
Default:    —
Context:    http, server, location
 
limit_req               #调用控件模块
zone=name               #指定空间=空间的名字
[burst=number]          #允许多请求几次
[nodelay | delay=number]; #延时

2.使用

vim /etc/nginx/conf.d/game1.conf

# 创建一个叫linux的空间,主要用来存放客户端IP,大小是10M
limit_conn_zone $remote_addr zone=linux:10m;

# 每秒一次
limit_req_zone $remote_addr zone=python:10m rate=1r/s;

server{

    server_name game1.test.com;
    listen 80;
    location / {
      # 调用linux空间,限制连接数是1
      limit_conn linux 1;
     
      #每秒最多5此
      limit_req zone=python burst=5;

      root /usr/share/nginx/html5-mario;
      index index.html;

}
}

08 上 nginx模块

3.重启nginx并测试

08 上 nginx模块

 

知识储备:

ab : 创建请求的命令,(yum install httpd-tools -y )

-c : 设置并发-n : 设置请求的总数

脚本宝典总结

以上是脚本宝典为你收集整理的08 上 nginx模块全部内容,希望文章能够帮你解决08 上 nginx模块所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。