localtion的语法

已=开头表示精确匹配

如 A 中只匹配根目录结尾的请求,后面不能带任何字符串。

^~ 开头表示uri以某个常规字符串开头,不是正则匹配
开头表示区分大小写的正则匹配;

~* 开头表示不区分大小写的正则匹配

/ 通用匹配, 如果没有其它匹配,任何请求都会匹配到

几个案例:

server {
listen 80;
server_name www.itmayiedu.com;
#精确匹配,/后面不能带任何字符
location =/ {
proxy_pass http://127.0.0.1:8080;
index index.html index.htm;
}
}

负载均衡的几种算法

  • 轮询机制
  • 权重
  • IP绑定
  • faiil
  • url

tip

在nginx1.9之前nginx指支持七层负载均衡,应用层的负载均衡(所谓七层,物理层、数据链路层、网络层、传输层、会话层、表示层、应用层、)在1.9之后支持了四层传输协议也就是网络层的负载均衡。本质上时支持那个层的协议。

负载均衡的配置

#上游服务器
upstream backServer{
server 127.0.0.1:8080;
server 127.0.0.1:8081;
} server {
listen 80;
server_name www.itmayiedu.com;
location / {
### 指定上游服务器负载均衡服务器
proxy_pass http://backServer;
index index.html index.htm;
}
}

带权重的配置

upstream  backServer{
server 127.0.0.1:8080 weight=1;
server 127.0.0.1:8081 weight=2;
} server {
listen 80;
server_name www.itmayiedu.com;
location / {
### 指定上游服务器负载均衡服务器
proxy_pass http://backServer;
index index.html index.htm;
}
}

Ip绑定

每个请求按访问IP的哈希结果分配,使来自同一个IP的访客固定访问一台后端服务器,并且可以有效解决动态网页存在的session共享问题。俗称IP绑定。

upstream  backServer{
server 127.0.0.1:8080 ;
server 127.0.0.1:8081 ;
ip_hash;
} server {
listen 80;
server_name www.itmayiedu.com;
location / {
### 指定上游服务器负载均衡服务器
proxy_pass http://backServer;
index index.html index.htm;
}
}

故障转移

当上游服务器(真实访问服务器),一旦出现故障或者是没有及时相应的话,应该直接轮训到下一台服务器,保证服务器的高可用。

server {
listen 80;
server_name www.itmayiedu.com;
location / {
### 指定上游服务器负载均衡服务器
proxy_pass http://backServer;
###nginx与上游服务器(真实访问的服务器)超时时间 后端服务器连接的超时时间_发起握手等候响应超时时间
proxy_connect_timeout 1s;
###nginx发送给上游服务器(真实访问的服务器)超时时间
proxy_send_timeout 1s;
### nginx接受上游服务器(真实访问的服务器)超时时间
proxy_read_timeout 1s;
index index.html index.htm;
}
}

最新文章

  1. msql,触发器无事物回滚,插入之前满足条件再插入
  2. C#生成随机字符串(数字,字母,特殊符号)
  3. 读Thinking in java 4
  4. android 性能分析、优化
  5. tengine安装
  6. 测试一个C段网络的联通性
  7. 第三百五十二天 how can I 坚持
  8. ecmall 后台导航增加菜单
  9. Android 之使用LocalBroadcastManager解决BroadcastReceiver安全问题
  10. bzoj1053
  11. 菜单组件——axure线框图部件库介绍
  12. 一个简单的string类,读书看报系列(一)
  13. sonarqube+Scanner代码质量管理工具
  14. 听翁恺老师mooc笔记(15)--文件的输入与输出
  15. 新手自定义view练习实例之(一) 泡泡弹窗
  16. 为vue添加公用方法,vue添加通用方法
  17. Sql语句分页,有待优化
  18. 原码、补码、反码的概念和java数的存储方式
  19. linq to xml 简单的增、删、改、查、保存xml文件操作
  20. idea新建工程项目结构

热门文章

  1. InfoPath分别定义New/Edit 表单
  2. 【Windows Universal Platform】只是学习笔记 - 开始
  3. QtStaticBuildScript(会有这么容易)
  4. 减少Qt编译时间暨简单Qt裁剪
  5. pycharm安装及配置全过程
  6. Ubuntu --- Xshell 连接 VirtualBox下安装的Ubuntu
  7. mpvue 试水的一天
  8. Spark学习之路(十四)—— Spark Streaming 基本操作
  9. Java学习笔记——设计模式之九.建造者模式
  10. 项目总结之echarts 使用