1实现效果
(1)浏览器地址栏输入地址 http://192.168.17.129/edu/a.html,负载均衡效果,平均到 8080和8081 端口中
2、准备工作
(1)准备两台 tomcat 服务器,一台 8080,一台 8081
(2)在两台 tomcat 里面 webapps 目录中,创建一样的edu 文件夹,在 edu 文件夹中创建页面 a.html(内容可以注意区分不同即可),用于测试
3、在 nginx 的配置文件中进行负载均衡的配置
给小伙伴复制代码,有的人会搞错,注意:upstream myserver要和proxy_pass定义的名称一样
user nginx;
worker_processes 1;
error_log /var/log/nginx/error.log warn;
pid /var/run/nginx.pid;events {
worker_connections 1024;
}http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] $status '
'"$request" $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /var/log/nginx/access.log main;
sendfile on;
#tcp_nopush on; keepalive_timeout 65;
#gzip on;
# 后面需要应用的端口文件都放在conf.d下面
include /etc/nginx/conf.d/*.conf;
upstream myserver{
server 192.168.14.1:1111;
server 192.168.14.1:2222;
}server {
listen 80;
server_name 192.168.77.138;location /{
root html;
proxy_pass http://myserver;
index index.html index.heml;
}
}
}
4、重启nginx并访问测试
浏览器输入:http://192.168.77.130/edu/a.html
5、负载均衡四种策略
(1)轮询(默认)
每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器 down 掉,能自动剔除。
upstream myserver{
server 192.168.77.130:8080;
server 192.168.77.130:8081;
}
(2) weight
weight 代表权,重默认为 1,权重越高被分配的客户端越多 。
指定轮询几率,weight 和访问比率成正比,用于后端服务器性能不均的情况。 例如:
upstream myserver{
server 192.168.77.130:8080 weight=10;
server 192.168.77.130:8081 weight=5;
}
(3) ip_hash
每个请求按访问 ip 的 hash 结果分配,这样每个访客固定访问一个后端服务器,可以解决 session 的问题,也就是说客户端在第一次访问某个服务后,后面都是访问此服务 。
upstream myserver{
ip_hash;
server 192.168.77.130:8080;
server 192.168.77.130:8081;
}
(4) fair(第三方)
按后端服务器的响应时间来分配请求,响应时间短的优先分配。
upstream myserver{
server 192.168.77.130:8080;
server 192.168.77.130:8081;
fair;
}