目录
一、负载均衡实例
1、前期准备工作
2、在Nginx进行负载均衡配置
二、Nginx分配服务器的策略
一、负载均衡实例
1、前期准备工作
1、实现效果
(1)、打开浏览器,在浏览器地址栏输入地址http://IP/tmt/a.html,负载均衡效果,平均8080和8081端口中
2、准备工作
(1)、准备2台tomcat服务器,一台8080端口,一台8081端口。
(2)、在两台tomcat里面的webapps目录中,创建名称是tmt文件夹,在tmt文件夹中创建页面a.html,用于测试
a.html分别如下:
<h1>tomcat1 8080!</h1>
<h1>tomcat2 8081!</h1>
测试:
负载均衡配置
1、在Nginx配置文件nginx.conf文件中进行修改,在http块下
upstream myserver { # 新增upstream块
server 192.168.0.185:8080;
server 192.168.0.185:8081;
}
server {
listen 80; # 默认对外暴露80端口
server_name 192.168.0.185; #1.修改为IP
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
root html;
proxy_pass http://myserver; #2.增加对应访问路径跳转,为上面自定义的upstream myserver
index index.html index.htm;
}
2、修改完配置文件,重启Nginx
测试:http://192.168.0.185/tmt/a.html
多次请求会平均分配到8080和8081中
========================================================
二、Nginx分配服务器的策略
Nginx提供了几种分配方式(策略)
1、轮询(默认)
每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动删除。
2、weight
weight代表权重,默认为1,权重越高被分配的客户端越多
指定轮询机率,weight和访问比率成正比,用于后端服务器性能不均的情况,
例如:
如下分配到8081是8080的一倍。
upstream myserver {
server 192.168.0.185:8080 weight=5;
server 192.168.0.185:8081 weight=10;
}
3、ip_hash
每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后端服务器,可以解决session的问题。
在浏览器访问IP地址,第一次访问是8080,以后多次访问一直就是8080.
例如:
upstream myserver {
ip_hash;
server 192.168.0.185:8080 weight=5;
server 192.168.0.185:8081 weight=10;
}
4、fair(第三方)
按后端服务器的响应时间来分配请求,响应时间短的优先分配。
upstream myserver {
server 192.168.0.185:8080 weight=5;
server 192.168.0.185:8081 weight=10;
fair;
}
Nginx学习&部署环境(一)
Nginx学习&部署环境(四)-动静分离实例