案例一:对所有请求实现一般轮询规则的负载均衡
upstream backend{
server 192.168.1.100:9001;
server 192.168.1.100:9002;
server 192.168.1.100:9003;
}
server {
listen 8083;
server_name localhost;
location /{
proxy_pass http://backend;
}
}
案例二:对所有请求实现加权轮询规则的负载均衡
upstream backend{
server 192.168.1.100:9001 weight=7;
server 192.168.1.100:9002 weight=5;
server 192.168.1.100:9003 weight=3;
}
server {
listen 8083;
server_name localhost;
location /{
proxy_pass http://backend;
}
}
案例三:对特定资源实现负载均衡
upstream videobackend{
server 192.168.1.100:9001;
server 192.168.1.100:9002;
}
upstream filebackend{
server 192.168.1.100:9003;
server 192.168.1.100:9004;
}
server {
listen 8084;
server_name localhost;
location /video/ {
proxy_pass http://videobackend;
}
location /file/ {
proxy_pass http://filebackend;
}
}
案例四:对不同域名实现负载均衡
upstream itcastbackend{
server 192.168.1.100:9001;
server 192.168.1.100:9002;
}
upstream itheimabackend{
server 192.168.1.100:9003;
server 192.168.1.100:9004;
}
server {
listen 8085;
server_name www.itcast.cn;
location / {
proxy_pass http://itcastbackend;
}
}
server {
listen 8086;
server_name www.itheima.cn;
location / {
proxy_pass http://itheimabackend;
}
}
案例五:实现带有URL重写的负载均衡
upstream backend{
server 192.168.1.100:9001;
server 192.168.1.100:9002;
server 192.168.1.100:9003;
}
server {
listen 80;
server_name localhost;
location /file/ {
rewrite ^(/file/.*) /server/$1 last;
}
location / {
proxy_pass http://backend;
}
}