加入收藏 | 设为首页 | 会员中心 | 我要投稿 河北网 (https://www.hebeiwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 业界 > 正文

详解Nginx首要应用场景/反向署理/负载平衡/新闻疏散/HTTP处事器

发布时间:2018-10-30 00:51:20 所属栏目:业界 来源:今日头条
导读:本日只针对Nginx在不加载第三方模块的环境能处理赏罚哪些工作,因为第三方模块太多以是也先容不完,这里是按照之前行使过和相识过总结出来的。 Nginx能做什么? 反向署理 负载平衡 HTTP处事器(包括新闻疏散) 1. 反向署理 反向署理应该是Nginx做的最多的一件事了
副问题[/!--empirenews.page--]

本日只针对Nginx在不加载第三方模块的环境能处理赏罚哪些工作,因为第三方模块太多以是也先容不完,这里是按照之前行使过和相识过总结出来的。

Nginx能做什么?

  • 反向署理
  • 负载平衡
  • HTTP处事器(包括新闻疏散)

1. 反向署理

反向署理应该是Nginx做的最多的一件事了,什么是反向署理呢,简朴来说就是真实的处事器不能直接被外部收集会见,以是必要一台署理处事器,而署理处事器能被外部收集会见的同时又跟真实处事器在统一个收集情形,虽然也也许是统一台处事器,端口差异罢了。

详解Nginx首要应用场景/反向署理/负载平衡/新闻疏散/HTTP处事器

详解Nginx首要应用场景/反向署理/负载平衡/新闻疏散/HTTP处事器

下面贴上一段简朴的实现反向署理的代码 -

  1. server {  
  2.  listen 80;  
  3.  server_name localhost;  
  4.  client_max_body_size 1024M; 
  5.  location / { 
  6.  proxy_pass http://localhost:8080; 
  7.  proxy_set_header Host $host:$server_port; 
  8.  } 

生涯设置文件后启动Nginx,这样当我们会见localhost的时辰,就相等于会见 localhost:8080 了。

2. 负载平衡

负载平衡也是Nginx常用的一个成果,负载平衡其意思就是分摊到多个操纵单位长举办执行,譬喻Web处事器、FTP处事器、企业要害应用处事器和其他要害使命处事器等,从而配合完成事变使命。简朴而言就是当有2台或以上处事器时,按照法则随机的将哀求分发到指定的处事器上处理赏罚,负载平衡设置一样平常都必要同时设置反向署理,通过反向署理跳转到负载平衡。而Nginx今朝支持自带3种负载平衡计策,尚有2种常用的第三方计策。

详解Nginx首要应用场景/反向署理/负载平衡/新闻疏散/HTTP处事器

1)、RR(默认)

每个哀求定时刻次序一一分派到差异的后端处事器,假如后端处事器down掉,能自动剔除。

  1. upstream test { 
  2. server localhost:8080; 
  3. server localhost:8081; 
  4. server { 
  5. listen 81;  
  6. server_name localhost;  
  7. client_max_body_size 1024M; 
  8. location / { 
  9. proxy_pass http://test; 
  10. proxy_set_header Host $host:$server_port; 

负载平衡的焦点代码为 -

  1. upstream test { 
  2.  server localhost:8080; 
  3.  server localhost:8081; 
  4.  } 

2)、权重

指定轮询几率,weight和会见比率成正比,用于后端处事器机能不均的环境。 譬喻

  1. upstream test { 
  2. server localhost:8080 weight=9; 
  3. server localhost:8081 weight=1; 

那么10次一样平常只会有1次会会见到8081,而有9次会会见到8080 -

3)、ip_hash(session保持)

上面的2种方法都有一个题目,那就是下一个哀求来的时辰哀求也许分发到其它一个处事器,当我们的措施不是无状态的时辰(回收了session生涯数据),这时辰就有一个很大的很题目了,好比把登录信息生涯到了session中,那么跳转到其它一台处事器的时辰就必要从头登录了,以是许多时辰我们必要一个客户只会见一个处事器,那么就必要用iphash了,iphash的每个哀求按会见ip的hash功效分派,这样每个访客牢靠会见一个后端处事器,可以办理session的题目。

upstream test { ip_hash; server localhost:8080; server localhost:8081; }

4)、fair(第三方)

按后端处事器的相应时刻来分派哀求,相应时刻短的优先分派。

upstream backend { fair; server localhost:8080; server localhost:8081; }

5)、url_hash(第三方)

按会见url的hash功效来分派哀求,使每个url定向到统一个后端处事器,后端处事器为缓存时较量有用。 在upstream中插手hash语句,server语句中不能写入weight等其他的参数,hash_method是行使的hash算法

upstream backend { hash $request_uri; hash_method crc32; server localhost:8080; server localhost:8081; }

3. HTTP处事器

Nginx自己也是一个静态资源的处事器,当只有静态资源的时辰,就可以行使Nginx来做处事器,同时此刻也很风行新闻疏散,就可以通过Nginx来实现,起首看看Nginx做静态资源处事器

详解Nginx首要应用场景/反向署理/负载平衡/新闻疏散/HTTP处事器

  1. server { 
  2.  listen 80;  
  3.  server_name localhost;  
  4.  client_max_body_size 1024M; 
  5.  location / { 
  6.  root E:/wwwroot; 
  7.  index index.html; 
  8.  } 
  9.  } 

这样假如会见 就会默认会见到E盘wwwroot目次下面的index.html,假如一个网站只是静态页面的话,那么就可以通过这种方法来实现陈设。

4. 新闻疏散

(编辑:河北网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读