基于Nginx的Web服务器优化的应用研究.docx

基于Nginx的Web服务器优化的应用研究.docx

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

?

?

基于Nginx的Web服务器优化的应用研究

?

?

摘要:随着互联网的快速发展,人们对网站的访问量也随着日益增长,越来越多的Web服务器经常处于高并发访问状态,导致服务器性能快速下降,甚至系统崩溃的严重后果。如何在硬件资源允许的前提下,通过软件的配置支持高并发访问成为了当前亟待解决的重要课题。本文尝试使用Nginx搭建Web服务器并对Nginx的连接數和客户访问限制方面进行优化测试研究,对帮助和改善Web服务器的高并发性能起到一定的积极作用。

关键词:Web服务器;Nginx;性能优化

随着互联网的快速发展,人们对网站的访问量也随着日益增长,越来越多的Web服务器经常处于高并发访问状态,导致服务器性能快速下降,甚至会造成整个服务器系统崩溃的严重后果。如何在硬件资源允许的前提下,通过软件的配置使Web服务器支持高并发访问成为了当前亟待解决的重要课题。

近几年来Nginx因为具有轻量级和高并发的特点,国内如百度、淘宝、腾讯、新浪和网易等网站都开始使用Nginx来满足一些高并发访问的需求[1]。

本文尝试使用Nginx搭建Web服务器,并对Nginx在提高客户端连接数、客户请求数限制和浏览器缓存等方面优化测试进行应用研究。

1测试环境准备

1.1搭建Web系统

测试环境使用VMware部署两台安装CentOS7操作系统的虚拟机,作为Web系统的服务器端和客户端。在完成两台Linux虚拟机的IP地址分配任务后,在Linux虚拟机1安装Nginx,在Linux虚拟机2安装Apache,即Linux虚拟机1通过运行Nginx充当Web服务器,Linux虚拟机2作为客户端,测试环境如图1所示。

1.2服务器端创建测试网站

在Web服务器创建一个测试网站,客户端使用域名方式访问该测试网站。

(1)在服务器端的nginx.conf文件中http块内添加一个使用www.ng.test域名的虚拟主机;

(2)在客户端添加一条域名解析记录(www.ng.test);

(3)在客户端的浏览器使用域名方式访问网站。

2使用Nginx优化Web服务器

Nginx的默认设置是为了平衡Web服务器的各种工作场景而准备的通用方案,在特定工作中并不一定能发挥最佳的性能。本文对客户端访问Web服务器的连接数、客户端请求限制等方面进行性能调优测试,即验证了Nginx的高并发的特点,又能改善Web服务器性能[1]。

2.1Nginx的连接数优化测试

2.1.1修改Linux系统的连接数限制

因为Linux系统把进程的连接数当作文件处理,一个进程的连接数不能超过1024[1]。如果要使客户端和服务器端支持高并发连接数,必须修改进程数量的限制,具体命令如下:

[root@client~]#ulimit-n65535

2.1.2修改Nginx的连接数限制

Nginx运行时允许存在多个工作进程,工作进程的数目可以在nginx.conf文件中指定,通常设置为CPU的核心数[2]。为了使Nginx能够承载更高的连接数,需要修改nginx.conf文件中与连接数限制相关的参数。具体命令如下:

http{

……

worker_processesauto;

worker_rlimit_nofile65535;

……

events{

worker_connections65535;

multi_accepton;

}

……

}

说明:worker_processes指令用于指定工作进程的个数,设置为auto时Nginx将根据CPU的核心数来控制;worker_rlimit_nofile用于设置最多打开的文件数量;worker_connections用于设置每个工作进程可接收的连接数;multi_accept表示是否允许一个工作进程响应多个请求。

2.1.3客户端高并发访问服务器端测试

在客户端使用Apache的ApacheBench工具向服务器端发送并发连接数是5000的访问请求,具体命令如下:

[root@client~]#cd/usr/local/apache2/bin

[root@clientbin]#./ab-n5000-c5000http://www.ng.test/

说明:ab命令的选项-n表示发送的连接数,-c表示并发数,http://www.ng.test/表示请求的服务器URL地址。

测试结果出现如下信息:

Completerequests:5000

Failedrequests:0

从测试结果显示可以看出Nginx成功接收5000的并发连接请求。

2.2客户端请求限制测试

以上客户端对服务器的高并发连接测试是通过同一个主机向服务器发送的高并发连接请求,在实际应用中如果出现这种情况,这很可能是遭受网络攻击,会消

文档评论(0)

188****8742 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档