脚本宝典收集整理的这篇文章主要介绍了08 上 nginx模块,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
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
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来访问
案例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;
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.配置密码文件
4.配置server
auth_basic "This is auth_basic!";
auth_basic_user_file /etc/nginx/auth;
5.重启nginx并测试
6.在命令行中的访问方式
1.语法
语法: stub_status;默认: —位置: server, location
2.使用
location /status {
stub_status;
}
3.重启nginx并测试
http://index.test.com/status
Active connections:当前活动客户端连接数,包括等待连接。accepts :总的连接次数handled:已经处理的总连接数requests:客户端请求的总数Reading:nginx正在读取请求头的当前连接数Writing:nginx将响应写回客户端的当前连接数Waiting:当前等待请求的空闲客户端连接数
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;
}
}
3.重启nginx
Systemctl restart nginx
4.配置hosts文件
vim /etc/hosts
#192.168.15.8 game1.test.com
5.测试
ab -c 200 -n 10000 http://game1.test.com/
创建一个内存空间存放访问者的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;
}
}
3.重启nginx并测试
ab : 创建请求的命令,(yum install httpd-tools -y )
-c : 设置并发-n : 设置请求的总数
以上是脚本宝典为你收集整理的08 上 nginx模块全部内容,希望文章能够帮你解决08 上 nginx模块所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。