Nginx的常用模块说明
今晚继续分享nginx的常用模块;最后分享多三个;
实验出真知,努力才有结果,让我们都看看这个模块的是怎么使用的;
1、stub_status模块讲解
这个是状态查看模块,这个模块是可以直接输出nginx的基本状态信息
语法:
格式: stub_status;
作用范围:server location
实验配置如下:
#修改配置文件
[root@Linux2 nginx]# vim conf/nginx.conf
..............
location = /status {
stub_status;
allow 192.168.75.73;
allow 192.168.75.1;
deny all;
}
#73客户机直接访问;
[root@Linux3 ~]# curl 192.168.75.72/status
Active connections: 1
server accepts handled requests
31 31 27
Reading: 0 Writing: 1 Waiting: 0
#信息输出说明:
Active connections: 当前状态,活动状态的连接数
accepts: 统计总值,已经接受的客户端请求的总数
handled: 统计总值,已经处理完成的客户端请求的总数
requests: 统计总值,客户端发来的总的请求数
Reading: 当前状态,正在读取客户端请求报文首部的连接的连接数
Writing: 当前状态,正在向客户端发送响应报文过程中的连接数
Waiting: 当前状态,正在等待客户端发出请求的空闲连接数
2、referer模块讲解
该模块可以进行一个防盗链设置
盗链的含义是网站内容本身不在自己公司的服务器上,而通过技术手段,直接调用其他公司的服务器网站数据,而向最终用户提供此内容。
语法:
Syntax: valid_referers none | blocked | server_names |
string ...;
Default: —
Context: server, location
5.3.1、防盗链设置实验
在72服务器上面配置nginx的防盗链:
#修改配置文件
[root@Linux2 ~]# vim conf/nginx.conf
#新增加一下内容:
........
location ~* \.(gif|jpg|png|swf|flv)$ {
valid_referers none blocked *.liangjiawei.net;
root /data/html/;
if ($invalid_referer) {
return 403;
}
}
#选项参数说明
valid_referers 表示合法的referers设置
none: 表示没有referers,直接通过浏览器或者其他工具访问。
blocked: 表示有referers,但是被代理服务器或者防火墙隐藏;
*.liangjiawei.net: 表示通过*.jfedu.net访问的referers,*表示任意host主机。
#这个是判断,如果有违规的访问就会访问403;
if ($invalid_referer) {
return 403;
}
#这个是代表以什么什么结尾
location ~* \.(gif|jpg|png|swf|flv)$
- 准备测试资源
#查找一下linux下的.jpg结尾的资源
[root@Linux2 ~]# find / -name "*.jpg"
/root/mysql-5.5.60/libmysqld/examples/builder-sample/snapshot.jpg
.......
#随便复制一张到html文件中
[root@Linux2 nginx]# cp /usr/share/backgrounds/day.jpg html/
准备另外一台服务器,准备引用这台服务器的资源
- 另外一台服务器也要配置nginx
- 也需要引用72服务器的night.jpg图片
#直接修改73服务nginx的主页文件
[root@Linux2 ~]# > /usr/local/nginx/html/index.html
[root@Linux2 ~]# vim /usr/local/nginx/html/index.html
<html>
<h1>welcome to liangjiawei.net<h1>
<img src="http://192.168.75.72/night.jpg"
</html>
#最后进行一个验证
验证:
- 本地浏览器输入:192.168.75.72/day.jpg
- 本地浏览器输入:192.168.75.73
- 看到图裂了,代表实验成功
3、autoindex模块说明
nginx默认的输出页面是不允许列出整个目录的内容的;
如果想要列出内容需要添加autoindex模块
默认的输出是:
[root@Linux3 html]# curl 192.168.75.72
this is liangjiawei-web-主页
如果开启了autoindex模块
- 原来在html的index这个文件需要移走
#编写配置文件
[root@Linux2 ~]# vim conf/nginx.conf
........
location / {
root html;
# index index.html index.htm;
autoindex on;
}
..........
#重载配置文件,并且验证
[root@Linux2 ~]# nginx -s reload
#创建数据
[root@Linux2 ~]# mv html/index.html /tmp/
[root@Linux2 ~]# touch html/{a..c}.txt
autoindex模块的其他显示
# 开启目录访问权限
autoindex on;
# 以人类易懂的方式显示文件大小
autoindex_exact_size off;
# 文件时间设置为本地时间
autoindex_localtime on;
分享环节:
hi,亲爱的朋友们:
- 感谢你们耐心完这个笔记,如果笔记中出现的一些软件包、资源找不到的可以直接留言&私聊,我看见了就回复;
- 资源免费共享;有需要滴滴,(仅仅是我有的)
我的坚持初衷:
标签:Linux2,autoindex,学霸,html,41,nginx,学渣,模块,root From: https://blog.csdn.net/Liang_GaRy/article/details/143496114