轮询
- 首先安装多个tomcat,设置不同的端口号,并更改tomcat主页
- 更改nginx的配置,命令如下
upstream tomcats {
server localhost:8080;
server localhost:8082;
server localhost:8088;
}
server {
listen 80;
server_name localhost;
location / {
proxy_pass http://tomcats;
}
}
- 在浏览器中不断刷新访问,会展示第一步更改的不同的tomcat主页
权重
默认每个tomcat的权重weight为1
upstream tomcats {
server localhost:8080 weight=3;
server localhost:8082 weight=1;
server localhost:8088 weight=2;
}
关闭某一个tomcat 使用down命令
upstream tomcats {
server localhost:8080 weight=5 down;
server localhost:8082 weight=3;
server localhost:8088 weight=1;
}
设置最大连接数
使用max_conns=2将最大连接数设置为2
upstream tomcats {
server localhost:8080 max_conns=2;
server server localhost:8082 max_conns=2;
server server localhost:8088 max_conns=2;
}
设置备用
使用backup命令,将某一个tomcat服务器设置为备用,当其他tomcat挂掉后,会访问到设置为backup的tomcat服务器
upstream tomcats {
server localhost:8080 backup;
server localhost:8082 weight=3;
server localhost:8088 weight=1;
}
负载均衡 url_hash 与 least_conn
ip_hash:根据用户的ip地址经过hash算法,分配访问的tomcat
一致性hash: 通过计算,将服务器定位在一个环形中,访问的用户根据就近顺时针访问
url hash:根据每次请求的url地址,hash后访问到固定的服务器节点。
least_conn:按照当前每台tomcat连接数量,将新连接分配给访问量最小那一台
upstream tomcats {
# url hash
hash $request_uri;
# 最少连接数
# least_conn
server localhost:8080;
server localhost:8082 ;
server localhost:8088;
}
server {
listen 80;
server_name www.tomcats.com;
location / {
proxy_pass http://tomcats;
}
}
Nginx缓存
location /static{
alias /home/static;
# expires 10s;
# expires @22h30m;
# expires -1h; //当前时间一个小时前过期
# expires epoch; //不设置缓存
# expires off; //默认项
expires max; //最长时间,相当于永不过期
}