3.1 问题
本案例要求对Nginx服务器进行适当优化,解决如下问题,以提升服务器的处理性能:
如何自定义返回给客户端的404错误页面
如何查看服务器状态信息
如果客户端访问服务器提示“Too many open files”如何解决
如何解决客户端访问头部信息过长的问题
如何让客户端浏览器缓存数据
日志切割
开启gzip压缩功能,提高数据传输效率
开启文件缓存功能
然后客户机访问此Web服务器验证效果:
使用ab压力测试软件测试并发量
编写测试脚本生成长头部信息的访问请求
客户端访问不存在的页面,测试404错误页面是否重定向
3.2 步骤
实现此案例需要按照如下步骤进行。
步骤一:自定义报错页面
1)优化前,客户端使用浏览器访问不存在的页面,会提示404文件未找到
1.[root@client ~]# firefox http://192.168.4.5/xxxxx //访问一个不存在的页面
2)修改Nginx配置文件,自定义报错页面
1.[root@proxy ~]# vim /usr/local/nginx/conf/nginx.conf
2... ..
3.error_page 404 /40x.html; //自定义错误页面
4... ..
5.[root@proxy ~]# vim /usr/local/nginx/html/40x.html //生成错误页面
6.Oops,No NO no page …
7.
8.[root@proxy ~]# nginx -s reload
9.#请先确保nginx是启动状态,否则运行该命令会报错,报错信息如下:
10.#[error] open() "/usr/local/nginx/logs/nginx.pid" failed (2: No such file or directory)
3)优化后,客户端使用浏览器访问不存在的页面,会提示自己定义的40x.html页面
1.[root@client ~]# firefox http://192.168.4.5/xxxxx //访问一个不存在的页面
4)常见http状态码
常见http状态码可用参考表-1所示。
表-1 主机列表
步骤二:如何查看服务器状态信息(非常重要的功能)
1)编译安装时使用–with-http_stub_status_module开启状态页面模块
1.[root@proxy ~]# yum -y install gcc pcre-devel openssl-devel //安装常见依赖包
2.[root@proxy ~]# tar -zxvf nginx-1.12.2.tar.gz
3.[root@proxy ~]# cd nginx-1.12.2
4.[root@proxy nginx-1.12.2]# ./configure \
5.> --with-http_ssl_module //开启SSL加密功能
6.> --with-stream //开启TCP/UDP代理模块
7.> --with-http_stub_status_module