当前位置:首页 > 旅游指南

upstream Tengine新增nginx upstream模块的使用

导读少女引擎是淘宝基于Nginx的二次开发版本。少女引擎与Nginx完全兼容,所以少女引擎可以根据Nginx进行配置。然而,Tengine提供了许多实用功能和性能优化。例如,对于上游模块,下面解释Tengine重新开发的一些小模块。

后端长连接超时功能

ngx _ http _ upstream _ keepalive _ module为nginx的长后端连接增加了超时支持:

上游后端{

服务器127 . 0 . 0 . 1:8080;

keepalive 32

keepalive _ timeout 30s#将后端连接的最大空闲时间设置为30s

}

1)keepalive_timeout

语法:keepalive_timeout

默认:-

背景:上游

该指令设置后端长连接的最大空空闲超时时间。参数的时间单位可以是秒、毫秒和分钟。默认时间单位是秒。

健康检查模块功能

Ngx_http_upstream_check_module,可以为Tengine提供主动后端服务器健康检查功能。Tengine-1.4.0之前默认不打开模块,但配置编译选项时可以打开:。/configure–with-http _ upstream _ check _ module。

1)检查

语法:check interval =毫秒[fall = count][rise = count][time out =毫秒][default _ down = true | false][type = TCP | http | SSL _ hello | MySQL | ajp][port = check _ port]

默认值:interval = 30000 fall = 5 rise = 2 time out = 1000 default _ down = true type = TCP

背景:上游

该指令可以打开后端服务器的健康检查功能,指令背后的参数含义是:

间隔:发送到后端的运行状况检查包之间的间隔。

Fall(fall_count):如果连续失败的次数达到fall_count,则认为服务器停机。

上升(上升_计数):如果连续成功的次数达到上升_计数,则服务器被视为上升。

超时:后端健康请求的超时时间。

Default_down:设置服务器的初始状态。如果为真,说明默认为down如果它是假的,它是向上的。默认值为真,即服务器最初被认为不可用,健康检查包在达到一定数量的成功之前不会被认为是健康的。

类型:健康检查包的类型,现在支持以下类型

Tcp:简单的tcp连接。如果连接成功,后端正常。

Ssl_hello:发送一个初始的SSL hello包,并从服务器接受SSL hello包。

Http:发送HTTP请求,通过后端回复包的状态判断后端是否存活。

Mysql:连接到mysql服务器,通过接收服务器发来的问候包来判断后端是否活着。

AJP:将ajp协议的Cping包发送到后端,通过接收Cpong包判断后端是否存活。

端口:指定后端服务器的检查端口。您可以指定不同于实际服务的后端服务器端口。比如后端提供一个端口为443的应用,你可以通过检查端口80的状态来判断后端的健康状况。默认值为0,这意味着它与后端服务器提供真实服务的端口相同。该选项出现在Tengine-1.4.0中。

2)check_keepalive_requests

语法:check _ keepalive _ requests _ request _ num

默认值:1

背景:上游

该指令可以配置一个连接发送的请求数,默认值为1,表示Tengine完成一个请求后,连接会关闭。

3)check_http_send

语法:check_http_send http_packet

默认:“GET / HTTP/1.0”

背景:上游

该指令可以配置http健康检查包发送的请求内容。为了减少传输的数据量,建议使用“HEAD”方法。当使用长连接进行运行状况检查时,需要在指令中添加保活请求头,例如“head/http/1.1 r n connection:keep-alive r n r n”。同时,在采用“GET”方法时,请求uri的大小不能太大,以保证传输可以在一个间隔内完成,否则会被健康检查模块视为后端服务器或网络异常。

4)check_http_expect_alive

语法:check _ http _ expect _ alive[http _ 2xx | http _ 3xx | http _ 4xx | http _ 5xx]

默认:http_2xx | http_3xx

背景:上游

该指令指定了HTTP回复的成功状态。默认情况下,2XX和3XX的状态被认为是健康的。

5)check_shm_size

语法:check_shm_size size

默认值:1M

上下文:http

所有后端服务器运行状况检查状态都存储在共享内存中。该指令可以设置共享内存的大小。默认值为1M。如果您有超过1000台服务器,并且在配置中出错,您可能需要增加内存大小。

6)检查_状态

语法:check_status [html|csv|json]

默认值:check_status html

背景:位置

显示服务器的运行状况页面。该指令需要在http块中配置。Tengine-1.4.0之后,可以配置显示页面的格式。支持的格式有html、csv和json。默认类型是html。您也可以通过请求的参数指定格式,假设“/status”是您的状态页面的网址,并且格式参数更改页面的格式,例如:

/状态?format=html

/状态?format=csv

/状态?format=json

同时,您还可以通过状态参数获取相同服务器状态的列表,例如:

/状态?format = html & amp状态=关闭

/状态?format = csv & amp状态=向上

下面是一个HTML状态页面的例子(服务器号是后端服务器的数量,生成是Nginx重载的次数。Index是服务器的索引,upstream是配置中的Upstream的名称,Name是服务器IP,Status是服务器的状态,Rise是服务器连续检查成功的次数,Fall是连续检查失败的次数,check类型是检查的方式,Check端口是专门为后端的健康检查设置的端口):

以下是csv格式页面的示例:

0,后端,106.187.48.116:80,up,46,0,http,80

以下是json格式页面的示例:

{ "服务器":{

“总计”:1,

【代】:3、

"服务器":[

{“index”:0,“upstream”:“后端”、“name”:“106 . 187 . 48 . 116:80”、“status”:“up”、“rise”:58、“fall”:0、“type”:“http”、“port”:80 }

]

}}

使用增强型上游示例:

http {

上游集群1 {

#简单循环赛

服务器192 . 168 . 0 . 1:80;

服务器192 . 168 . 0 . 2:80;

检查间隔=3000上升=2下降=5超时=1000类型= http

check _ HTTP _ send“HEAD/HTTP/1.0”;

check _ http _ expect _ alive http _ 2xx http _ 3xx;

}

上游集群2 {

#简单循环赛

服务器192 . 168 . 0 . 3:80;

服务器192 . 168 . 0 . 4:80;

检查间隔=3000上升=2下降=5超时=1000类型= http

check _ keepalive _ requests 100

check _ HTTP _ send“HEAD/HTTP/1.1 Connection:keep-alive”;

check _ http _ expect _ alive http _ 2xx http _ 3xx;

}

服务器{

听80;

位置/1 {

proxy _ pass http://cluster 1;

}

位置/2 {

proxy _ pass http://cluster 2;

}

位置/状态{

check _ status

access _ log off

允许一些。IP . ADD.RESS

否认一切;

}

}

}

上游域名解析模块功能

ngx _ http _ upstream _ dynamic _ module,这个模块提供了运行时在upstream中动态解析服务器域名的功能,很少使用。

动态解析(_ r)

语法:dynamic _ resolve[fallback =陈旧| next | shut down][fail _ time out = time]

默认:-

背景:上游。

指定在上游启用动态域名解析功能,回退参数指定无法解析域名时要采取的操作:

陈旧,使用tengine启动时获得的旧地址

接下来,选择上游的下一台服务器

关机,结束当前请求

fail_timeout参数指定DNS服务被认为不可用的时间,即DNS请求失败后多久,假设DNS服务仍然不可用,以减少无效DNS的查询。

上游后端{

dynamic _ resolve fallback =陈旧fail _ timeout = 30s

服务器a.com;

服务器b.com;

}

极限上游试函数

限制上游重试次数(限制每个请求访问后端服务器的最大尝试次数)支持代理、memcached、fastcgi、scgi和uwsgi模块。您可以使用以下说明来限制访问次数。

#限制fastcgi代理的后端尝试次数

fastcgi_upstream_tries num

#限制代理的后端尝试次数

proxy_upstream_tries数量

#限制memcached代理的后端尝试次数

memcached_upstream_tries num

#限制scgi代理的后端尝试次数

scgi_upstream_tries num

#限制uwsgi代理的后端尝试次数

uwsgi_upstream_tries num

1.《upstream Tengine新增nginx upstream模块的使用》援引自互联网,旨在传递更多网络信息知识,仅代表作者本人观点,与本网站无关,侵删请联系页脚下方联系方式。

2.《upstream Tengine新增nginx upstream模块的使用》仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证。

3.文章转载时请保留本站内容来源地址,https://www.lu-xu.com/junshi/1040883.html

上一篇

大熊猫瘦成皮包骨 园方回应得了牙髓炎

下一篇

致敬英雄共悼逝者 具体是什么情况?

京津冀区域健康状态互认 过程真相详细揭秘!

京津冀区域健康状态互认 过程真相详细揭秘!

中新网4月18日电(陈新华杭彭镜如)北京市发展和改革委员会副主任李素芳18日表示,京津冀区域卫生状况互认已经实施。北京人员实现了天津、河北无障碍通行,北京也明确表示“居住在北京的工人,如河北省廊坊市北三县等北京周边地区,上...

dell服务器报价 南京戴尔专卖店珠江路DELL笔记本、台式机、服务器工作站报价

  • dell服务器报价 南京戴尔专卖店珠江路DELL笔记本、台式机、服务器工作站报价
  • dell服务器报价 南京戴尔专卖店珠江路DELL笔记本、台式机、服务器工作站报价
  • dell服务器报价 南京戴尔专卖店珠江路DELL笔记本、台式机、服务器工作站报价

沐浴阳光太阳能 NASA展示一张火星洞察号全身图,它正在沐浴阳光,状态比地球还好

  • 沐浴阳光太阳能 NASA展示一张火星洞察号全身图,它正在沐浴阳光,状态比地球还好
  • 沐浴阳光太阳能 NASA展示一张火星洞察号全身图,它正在沐浴阳光,状态比地球还好
  • 沐浴阳光太阳能 NASA展示一张火星洞察号全身图,它正在沐浴阳光,状态比地球还好
河北保定进入战时状态 还原事发经过及背后原因!

河北保定进入战时状态 还原事发经过及背后原因!

6月13日召开全市疫情防控领导小组会议,应对疫情防控新形势,安排下一步工作。市长、市领导小组组长郭建英讲话。会议指出,保定毗邻北京,货运和人员往来非常密切,这就要求我们高度警惕,立即行动。本着“人民群众的安全和健康至上”的...

吉林省舒兰市全面进入战时状态 事件详细经过!

吉林省舒兰市全面进入战时状态 事件详细经过!

今天中午,吉林省召开了舒兰最新疫情视频会议。会上,舒兰市长金华宣布,舒兰市全面进入战争状态,并介绍了舒兰市下一步的工作措施。金华表示:金华说:最近我市本地确诊13例,打破了全省连续73天无本地新增病例的持续阳性局面。疫情爆...

三星二氧化碳泄露致一死 另外两人处于无意识状态

三星二氧化碳泄露致一死 另外两人处于无意识状态

三星在一份声明中表示,这三名男子被发现昏迷在水原半导体工厂的地下室。一名24岁的男性工人在被送往医院几小时后被宣布死亡,而另外两名年龄分别为26岁和54岁的工人仍处于昏迷状态。这些员工都来自一家三星供应商。 “这名员工的死...

西部数码虚拟主机 西部数码虚拟主机,自定义设置404错误页面,HTTP状态码返回200!

西部数码虚拟主机 西部数码虚拟主机,自定义设置404错误页面,HTTP状态码返回200!

郑州SEO边肖发现设置“错误页面定义”后,页面状态码返回200而不是404,肯定不利于网站SEO排名,最后得到以下方法:http://www.dingguanghui.com/seo/seorumen/923.html  有一个问题: 西部数字虚拟主机,自定义设置404错误页,HTTP状态码...

北京全市社区防控进入战时状态 具体是什么情况?

北京全市社区防控进入战时状态 具体是什么情况?

今天下午,在北京市新型冠状病毒肺炎疫情防控工作第118场新闻发布会上,北京新冠肺炎疫情防控工作领导小组社区防控组办公室成员、北京市委组织部部务委员徐颖介绍,本市已进入非常时期,全市社区防控迅速进入疫情防控战时状态,71...