一种基于Nginx的应用服务器调用方法及系统技术方案

技术编号:21167131 阅读:38 留言:0更新日期:2019-05-22 09:40
本发明专利技术公开一种基于Nginx的应用服务器调用方法及系统。该方法包括:利用预先编写的shell脚本检测应用服务器A的运行参数,当运行参数大于等于预置阈值时,获取系统中其他应用服务器的运行参数,比较得到所述其他应用服务器中最为空闲的应用服务器B,并确定应用服务器B的运行参数大于应用服务器A的运行参数;发送启动命令给应用服务器B,以使应用服务器B的shell脚本启动应用服务器B上预先部署的同种应用;通过shell脚本修改应用服务器A的Nginx配置,利用Nginx异步非阻塞的事件处理机制将应用服务器A上预置百分比的访问量切换至所述应用服务器B。本发明专利技术能在应用服务器的性能降低时去启动空闲服务器来承担部分访问量,达到合理利用资源的目的。

An Application Server Call Method and System Based on Nginx

The invention discloses an application server call method and system based on Nginx. The method includes: using pre-written shell script to detect the running parameters of application server A, obtaining the running parameters of other application servers in the system when the running parameters are greater than or equal to the preset threshold, comparing and obtaining the most idle application server B of the other application servers, and determining that the running parameters of application server B are larger than those of application server A. The startup command is sent to the application server B to enable the shell script of the application server B to start the pre-deployed application on the application server B. The Nginx configuration of the application server A is modified by the shell script, and the preset percentage of access on the application server A is switched to the application server B by using the Nginx asynchronous non-blocking event handling mechanism. The invention can start the idle server to bear part of the access when the performance of the application server is reduced, so as to achieve the purpose of rational utilization of resources.

【技术实现步骤摘要】
一种基于Nginx的应用服务器调用方法及系统
本专利技术涉及服务器
,尤其涉及一种基于Nginx的应用服务器调用方法及系统。
技术介绍
Nginx是一款轻量级的Web服务器/反向代理服务器,已经在俄罗斯最大的门户网站——RamblerMedia(www.rambler.ru)上运行多年时间,同时俄罗斯超过20%的虚拟主机平台采用Nginx作为反向代理服务器,而在国内,淘宝、新浪博客、新浪播客、网易新闻、六间房、56.com、Discuz!、水木社区、豆瓣、YUPOO、海内、迅雷在线等多家网站使用Nginx作为Web服务器或反向代理服务器。而当多台服务器提供同一种应用访问服务时,往往存在,其中几台服务器的服务器请求过多,服务器应用性能大大降低,而其中的一服务器却空闲着的情况,导致服务器利用不充分,造成资源浪费的结果。
技术实现思路
本专利技术所要解决的技术问题在于提供了一种在服务器资源紧张、应用服务数据量突然大增的情况下能充分利用空闲资源提供服务,达到资源不浪费又合理解决应用服务性能问题的基于Nginx的服务器调用方法及系统。为解决上述技术问题,本专利技术采用以下技术方案:本专利技术一方面提供了一种基于Nginx的应用服务器调用方法,该方法包括:利用预先编写的shell脚本检测应用服务器A的运行参数,当运行参数大于等于预置阈值时,获取系统中其他应用服务器的运行参数,比较得到所述其他应用服务器中最为空闲的应用服务器B,并确定所述应用服务器B的运行参数大于所述应用服务器A的运行参数;其中,所述运行参数包括:CPU使用率、内存使用量及访问量;发送启动命令给所述应用服务器B,以使应用服务器B的shell脚本启动应用服务器B上预先部署的同种应用;通过所述shell脚本修改所述应用服务器A的Nginx配置,利用Nginx异步非阻塞的事件处理机制将应用服务器A上预置百分比的访问量切换至所述应用服务器B,以调用应用服务器B处理所述预置百分比的访问量。其中,所述利用预先编写的shell脚本检测应用服务器A的运行参数包括:利用预先编写的shell脚本周期性地检测应用服务器A的运行参数。其中,所述利用Nginx异步非阻塞的事件处理机制将应用服务器A上预置百分比的访问量切换至所述应用服务器B之后还包括:当应用服务器A的访问量小于所述预置访问量时,利用所述shell脚本修改应用服务器A的Nginx配置,并发送停止命令给所述应用服务器B,以使应用服务器B在处理完所述预置百分比的访问量之后停止所述同种应用。其中,所述利用预先编写的shell脚本检测应用服务器A的运行参数之前还包括:启动所述shell脚本。其中,所述当运行参数大于等于预置阈值时包括:当所述CPU使用率大于等于预置使用率时;和/或当所述内存使用量大于等于预置使用量时;和/或当所述访问量大于等于预置访问量时。本专利技术另一方面提供了一种基于Nginx的应用服务器调用系统,该系统包括:参数检测模块,用于利用预先编写的shell脚本检测应用服务器A的运行参数,当运行参数大于等于预置阈值时,获取系统中其他应用服务器的运行参数,比较得到所述其他应用服务器中最为空闲的应用服务器B,并确定所述应用服务器B的运行参数大于所述应用服务器A的运行参数;其中,所述运行参数包括:CPU使用率、内存使用量及访问量;应用启动模块,用于发送启动命令给所述应用服务器B,以使应用服务器B的shell脚本启动应用服务器B上预先部署的同种应用;调用模块,用于通过所述shell脚本修改所述应用服务器A的Nginx配置,利用Nginx异步非阻塞的事件处理机制将应用服务器A上预置百分比的访问量切换至所述应用服务器B,以调用应用服务器B处理所述预置百分比的访问量。其中,所述利用预先编写的shell脚本检测应用服务器A的运行参数包括:利用预先编写的shell脚本周期性地检测应用服务器A的运行参数。其中,所述利用Nginx异步非阻塞的事件处理机制将应用服务器A上预置百分比的访问量切换至所述应用服务器B之后还包括:当应用服务器A的访问量小于所述预置访问量时,利用所述shell脚本修改应用服务器A的Nginx配置,并发送停止命令给所述应用服务器B,以使应用服务器B在处理完所述预置百分比的访问量之后停止所述同种应用。其中,所述系统还包括:脚本启动模块,用于启动所述shell脚本。其中,所述当运行参数大于等于预置阈值时包括:当所述CPU使用率大于等于预置使用率时;和/或当所述内存使用量大于等于预置使用量时;和/或当所述访问量大于等于预置访问量时。与现有技术相比,本专利技术的有益效果为:本专利技术利用shell脚本检测应用服务器的运行参数,当运行参数大于预置阈值时调用系统中最为空闲的应用服务器启动同种应用并将预置百分比的访问量切换至该最为空闲的应用服务器处理,即能在应用服务器的性能降低时去启动空闲服务器来承担部分访问量,充分利用了空闲服务器资源,达到合理利用资源的目的。附图说明图1是本专利技术具体实施方式中提供的一种基于Nginx的应用服务器调用方法的第一实施例的方法流程图。图2是本专利技术具体实施方式中提供的一种基于Nginx的应用服务器调用方法的第二实施例的方法流程图。图3是本专利技术具体实施方式中提供的一种基于Nginx的服务器调用系统的第一实施例的结构方框图。图4是本专利技术具体实施方式中提供的一种基于Nginx的服务器调用系统的第二实施例的结构方框图。具体实施方式为使本专利技术解决的技术问题、采用的技术方案和达到的技术效果更加清楚,下面将结合附图对本专利技术实施例的技术方案作进一步的详细描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。下面结合附图1~2对本专利技术实施例提供的一种基于Nginx的应用服务器调用方法作进一步的详细描述。请参考图1,其是本专利技术具体实施方式中提供的一种基于Nginx的应用服务器调用方法的第一实施例的方法流程图。如图1所示,在一些实施例中,该方法包括步骤S101~步骤S103,具体内容如下:步骤S101:利用预先编写的shell脚本检测应用服务器A的运行参数,当运行参数大于等于预置阈值时,获取系统中其他应用服务器的运行参数,比较得到所述其他应用服务器中最为空闲的应用服务器B,并确定所述应用服务器B的运行参数大于所述应用服务器A的运行参数;其中,所述运行参数包括:CPU使用率、内存使用量及访问量。当应用服务器A的访问请求过多时,其应用性能会降低至一定程度,表现为CPU使用率的提高、内存使用量的提高和访问量的提高,当应用服务器A的运行参数大于等于预置阈值时,可以获取系统中其他应用服务器的运行参数,得到一最为空闲的应用服务器,因为在一系统中,某些应用服务器提供一种应用访问服务,而另一些应用服务器提供另一种应用访问服务,或存在应用服务器为空闲服务器,当某一应用访问服务请求过多时,其对应的应用服务器的应用性能将会下降,而其他应用访问服务对应的应用服务器或空闲服务器其应用性能良好,便可调用这些其他应用访问服务对应的应用服务器或空闲服务器中最为空闲的应用服务器承担一些应用服务器A的应用访问服务请求。在一些实施例中,所本文档来自技高网...

【技术保护点】
1.一种基于Nginx的应用服务器调用方法,其特征在于,该方法包括:利用预先编写的shell脚本检测应用服务器A的运行参数,当运行参数大于等于预置阈值时,获取系统中其他应用服务器的运行参数,比较得到所述其他应用服务器中最为空闲的应用服务器B,并确定所述应用服务器B的运行参数大于所述应用服务器A的运行参数;其中,所述运行参数包括:CPU使用率、内存使用量及访问量;发送启动命令给所述应用服务器B,以使应用服务器B的shell脚本启动应用服务器B上预先部署的同种应用;通过所述shell脚本修改所述应用服务器A的Nginx配置,利用Nginx异步非阻塞的事件处理机制将应用服务器A上预置百分比的访问量切换至所述应用服务器B,以调用应用服务器B处理所述预置百分比的访问量。

【技术特征摘要】
1.一种基于Nginx的应用服务器调用方法,其特征在于,该方法包括:利用预先编写的shell脚本检测应用服务器A的运行参数,当运行参数大于等于预置阈值时,获取系统中其他应用服务器的运行参数,比较得到所述其他应用服务器中最为空闲的应用服务器B,并确定所述应用服务器B的运行参数大于所述应用服务器A的运行参数;其中,所述运行参数包括:CPU使用率、内存使用量及访问量;发送启动命令给所述应用服务器B,以使应用服务器B的shell脚本启动应用服务器B上预先部署的同种应用;通过所述shell脚本修改所述应用服务器A的Nginx配置,利用Nginx异步非阻塞的事件处理机制将应用服务器A上预置百分比的访问量切换至所述应用服务器B,以调用应用服务器B处理所述预置百分比的访问量。2.根据权利要求1所述的一种基于Nginx的应用服务器调用方法,其特征在于,所述利用预先编写的shell脚本检测应用服务器A的运行参数包括:利用预先编写的shell脚本周期性地检测应用服务器A的运行参数。3.根据权利要求2所述的一种基于Nginx的应用服务器调用方法,其特征在于,所述利用Nginx异步非阻塞的事件处理机制将应用服务器A上预置百分比的访问量切换至所述应用服务器B之后还包括:当应用服务器A的访问量小于所述预置访问量时,利用所述shell脚本修改应用服务器A的Nginx配置,并发送停止命令给所述应用服务器B,以使应用服务器B在处理完所述预置百分比的访问量之后停止所述同种应用。4.根据权利要求1所述的一种基于Nginx的应用服务器调用方法,其特征在于,所述利用预先编写的shell脚本检测应用服务器A的运行参数之前还包括:启动所述shell脚本。5.根据权利要求1所述的一种基于Nginx的应用服务器调用方法,其特征在于,所述当运行参数大于等于预置阈值时包括:当所述CPU使用率大于等于预置使用率时;和/或当所述内存使用量大于等于预置使用量时;和/或当所述访问量大于等于预置访问量时。6.一种...

【专利技术属性】
技术研发人员:赵雁峰赵善浮项为平邱小宁王月华陈育嘉利俊杰彭优沈强
申请(专利权)人:广东亿迅科技有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1