首页 > 代码库 > Nginx学习笔记06负载均衡之(一)负载均衡介绍
Nginx学习笔记06负载均衡之(一)负载均衡介绍
1.1.1. 负载均衡的介绍
Nginx中使用upstream配置块,可以方便的配置出一个基于反向代理的负载均衡解决方案。
在upstream中可以包含多个server配置项,每个server配置项指定一个主机地址和端口号,代表一个主机(上游服务器)。
在proxy_pass配置反向代理时,可以不指定最终的主机地址,而是只指定upstream配置块指定的引用名称。在本文中,upstream配置了一个包含三个主机地址的负载均衡主机集群。
配置内容:
http {
include mime.types;
default_type application/octet-stream;
upstream tomcat {
server tomcat101.coe2coe.me:8080;
server tomcat141.coe2coe.me:8080;
server tomcat142.coe2coe.me:8080;
}
server {
listen 8000;
server_name ng.coe2coe.me;
location / {
root html;
index index.html;
}
location ~ ^/hello/ {
proxy_pass http://tomcat;
}
}
}
运行结果:
在浏览器中访问http://ng.coe2coe.me:8000/hello/时,将会根据主机是否可用的状态,默按照upstream配置的次序依次选择其中一台主机进行请求和响应的转发。
以下三张图片是nginx启动后前三次访问(Ctrl+F5)时的结果:
默认使用依次轮询策略,依次选用的主机是tomcat101, tomcat141,tomcat142。
第1次访问:
第2次访问:
第3次访问:
在将tomcat141主机(192.168.197.141)的tomcat服务关闭后,将不会看到来自tomcat141的响应页面。有时候会出现多次请求仅转发到同一个主机的情况,比如Ctrl+F5多次,都是请求的tomcat142,而不见有tomcat101。
Nginx学习笔记06负载均衡之(一)负载均衡介绍