1.upstream 配置代理

  1. upstream local_tomcat {
  2. server localhost:8080;
  3. }
  4. server{
  5. location / {
  6. proxy_pass http://local_tomcat;
  7. }
  8. #......其他省略
  9. }

  在server外添加了一个upstream,而直接在proxy_pass里面直接用http://+upstream的名称来使用。

  还是直接来http://localhost,还是和第一个一样的效果,所有链接都没问题,说明我们配置正确。

  upstream中的server元素必须要注意,不能加http://,但proxy_pass中必须加

2.upstream 配置多台服务器

  1. upstream local_tomcat {
  2. server localhost:8080;
  3. server localhost:9999;
  4. }

  防止第一台服务器出现挂机。

3.upstream配置某台服务器的权值

  1. upstream local_tomcat {
  2. server localhost:8080 weight=1;
  3. server localhost:9999 weight=5;
  4. }

4.nginx的重要功能

  动/静态资源分离、负载均衡

5.动/静态资源分离

  nginx支持正则表达式以区分静态资源或者动态资源,

  其中动态资源可以进一步转发给后端的proxy server,

  而静态资源则可以在nginx层面使用本地缓存策略或者重定向(类CDN)到其他nginx上

6.负载均衡

  对于动态资源而言,如果有多个proxy server,那么nginx将会根据一定的算法选择合适的server,并转发请求,最终将客户端request相对均衡的分发给多个server。

7.负载均衡算法 

 “负载均衡”算法需要在upstream区块的首行声明。

1)round-robin:轮询,request将会依次有序的分发给web server。one by one!默认使用此算法。

2)least-connected:最小连接数,请求将会被分发给当前链接数最小的server。配置名“least_conn”。

3)ip-hash:根据请求的客户端IP作为hashing key,来判定选择哪个server。配置名“ip_hash”。

 能够影响负载均衡策略的还有一个重要的参数:权重

8.健康检测

  1. upstream backend {
  2. server 192.168.1.110 weight=3 max_fails=3 fail_timeout=10s;
  3. server 192.168.1.120;
  4. server 192.168.1.130;
  5. }

  对于负载均衡是必须的,这是提供可用性、“故障迁移”的必要手段。比如当某个server失效,请求未能正常处理,那么我们应该将分发给那些“正常”的server,并将故障的server从列表中移除,直到它恢复,以避免后续更多的请求处理失败。nginx当与一个server建立链接失败后,会在“fail_timeout”时间内最多尝试“max_fails”次,如果仍为失败,则将次server标记为“failed”,并从服务列表中移除。默认“max_fails”为1,如果“max_fails”为0,则表示关闭“健康检测”;“fail_timeout”(默认位10s)表示检测多久后被标记为“failed”,nginx会以优雅的方式检测那些失效的server,如果它们再次上线,则将它们标记为“alive”,即可继续提供服务。

最新文章

  1. angularjs指令系统系列课程(1):目录
  2. 给破坏性的Rake任务加把锁 | Rails
  3. 利用chardet检测网页编码
  4. 7个你可能不认识的CSS单位
  5. 20145225唐振远 实验二 "Java面向对象程序设计"
  6. makefile教程网址
  7. Javascript可变长度参数列表 - Arguments对象
  8. [模拟]ZOJ3480 Duck Typing
  9. php 常用
  10. js 函数参数形式
  11. android LayoutInflater的使用
  12. libpng causes error concerning pngconf.h
  13. AR9531的mac地址
  14. java Script 用if else 实现从大到小指定输出,升序排列
  15. SpringBoot整合Kafka和Storm
  16. vue cli 3.x 项目部署到 github pages
  17. noj算法 迷宫问题 回溯法
  18. 手机app数据的爬取之mitmproxy安装教程
  19. Win10系列:C#应用控件基础15
  20. Ubuntu下解决MySQL自启动,chkconfig list 全部off 情况

热门文章

  1. centos7.2云主机安装桌面
  2. 关于File 文件操作
  3. 【专题】计数问题(排列组合,容斥原理,Prufer序列)
  4. CodeForces 816C 思维
  5. pf
  6. 【CC2530强化实训03】定时器间隔定时实现按键长按与短按
  7. jQuery动态给下拉列表添加一个选项(创建DOM对象)
  8. Linux硬盘镜像获取与还原(dd、AccessData FTK Imager)
  9. 【日记】NOIP2018
  10. xshell5 优化方案