实验一:404报错优化
404报错优化:
客户访问网站时,如果看到了不存在的页面会有404报错的英文提示,这种提示很不友好,可以通过自定义页面改善用户体验
首先修改配置文件 59行
error_page 404 /test.jpg; //如果客户访问了不存在的页面就显示test.jpg的内容
使用浏览器足随意访问不存在的页面192.168.2.5/XXXX.html 就可以看到之前那张图片的内容
实验二:配置nginx缓存数据的功能
客户在访问服务器时,有可能随时需要重复的文件,如果反复从服务器获取会造成资源浪费,还耽误时间,可以通过配置将常用的或者比较大的文件在用户访问一次之后就缓存在客户机中,下次客户访问时不用再找服务器而是从本机获取。
修改配置文件 在默认的location的下面添加一个新的location
location ~* \.(jpg|png|mp4|html)$ { //当用户访问的是这几种类型的文件时,使用正则表达式
expires 30d; //都会缓存在客户机上30天
}
然后使用火狐浏览器,先清空历史记录,然后地址栏输入about:cache查看disk文件的列表,找到被访问文件(List Cache Entries)看最后倒数第2列信息显示多久超时。其他浏览器有它们特有的查看缓存的命令。
实验三:优化Nginx数据包头缓存,支持更长的地址,默认情况下nginx无法支持长地址栏,会报414错误
打开配置文件,在默认的虚拟主机上面添加:
client_header_buffer_size 200k; //存储地址栏等信息的空间大小
是200k
large_client_header_buffers 4 200k; //如果不够再给4个200k
配置完毕后重加载nginx
cd /root/lnmp_soft
vim buffer.sh //修改脚本,将里面的4.5修改为2.5(非必须操作),该脚本的效果是可以产生一个超长的地址
./buffer.sh //执行测试脚本,可以支持超长地址栏并看到页面内容,而不是414报错
实验三:nginx并发访问的优化
并发:多数用户同时对网站发起访问,并发量支持的越高,说明网站性能越强。
默认情况下nginx并发仅仅支持1024个,需要修改配置才能增加
yum -y install httpd-tools //安装支持压力测试命令的软件包
ab -c 1000 -n 1000 http://192.168.2.5/ //使用压力测试工具模拟1000人,一共1000次, 相当于每人访问1次,看到100%的提示说明成功,但是增加到2000之后就不行了
打开nginx配置文件修改第3行,第13行
worker_processes 2; //开启的nginx进程数量,通常是随cpu的核心数一致
worker_connections 50000; //每个nginx进程支持的并发访问量
之后重加载nginx
另外,除了nginx本身对并发量有限制,linux系统本身对文件的访问也有限制,默认情况下linux系统仅允许一个文件同时被打开1024次,普通情况下够用,但是作为网站服务器时,网站页面被N多用户同时访问时相当于同时打开,仅仅支持1024显然不够。
永久修改文件访问限制
vim /etc/security/limits.conf //修改53、54行,将下列两项内容修改为10万
* soft nofile 100000
* hard nofile 100000
重启虚拟机才能生效
ulimit -n //检查系统对文件打开数量的值,默认1024,之后则显示10万
也临时修改限制,修改为支持10万(如果已经配置过永久则无需再执行该步骤)
ulimit -Hn 100000
ulimit -Sn 100000
之后测试:[root@web1 ~]# ab -c 2000 -n 2000 http://192.168.2.5/ //最后再次使用测试主机web1去访问2.5,发现已经成功突破1024的限制