1、随记网页
创建文件夹 mkdir /app
创建网页 touch /app/{blue.html,yellow.html,red.html,green.html}
写配置文件:vim /etc/nginx/conf.d/app.conf
写入网页内容:vim /app/blue.html
<html>
<head>
<title>bluec locor</title>
</head>
<body style="background-color:blue"></body>
<h1>blue color!</h1>
</html>
其余网页内容都是一样的
2、替换模块
改完之后重启nginx
3、文件读取
原理介绍
sendfile
未使用sendfile() 的传统网络传输过程:
硬盘 >> kernel buffer >> user buffer>> kernel socket buffer >>协议栈
使用 sendfile() 来进行网络传输的过程:
硬盘 >> kernel buffer (快速拷贝到kernelsocket buffer) >>协议栈
sendfile() 不但能减少切换次数而且还能减少拷贝次数。
tcp_nopush
未使用tcp_nopush()网络资源浪费
应用程序每产生一次操作就会发送一个包,而典型情况下一个包会拥有一个字节的数据以及40个字节长的包头,于是产生4000%的过载,很轻易地就能令网络发生拥塞。同时也浪费资源
使用tcp_nopush()网络传输效率提升
当包累计到一定大小后再发送。
tcp_nodelay
开启或关闭nginx使用TCP_NODELAY选项的功能。 这个选项仅在将连接转变为长连接的时候才被启用。
TCP_NODELAY是禁用Nagle算法,即数据包立即发送出去。
由于Nagle和DelayedACK的原因,数据包的确认信息需要积攒到两个时才发送,长连接情况下,奇数包会造成延时40ms,所以tcp_nodelay会将ack立刻发出去。 如果不在长连接时,可以关闭此模块,因为ack会被立刻发出去。
只要把命令语句写入配置文件就可以了
这个是没办法用实验来验证的,应为读取的文件速度太快了,我们分辨不出来。
4、文件压缩
我们首先准配一些文件用来实验
加入的内容
5、页面缓存
6、防盗链
创建两个网站。a.com b.com 写好两个配置文件,在真机上做域名解析
在a.com.conf 中加入放到命令
这是没加入防盗链的
加入之后