反向代理
nginx服务器:192.168.1.111
转发地址:127.0.0.1:8080
#全局块
worker_processes 1; # 线程数
# 1.event块
events {
worker_connections 1024;
}
# 2.http块
http {
## 2.1 http 全局块
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
## 2.2 server块
server{
listen 80; # 监听端口
server_name 192.168.1.111; # 要访问的地址(nginx地址)
location / {
root html;
proxy_pass http://127.0.0.1:8080; # 要转发的地址(反向代理的地址)
index index.html; # 默认网站入口
}
}
}
规则分流
nginx服务器:192.168.1.112
若访问中包含/edu/
则跳转到 http://127.0.0.1:8080
若访问中包含/it/
则跳转到http://127.0.0.1:8081
#全局块
worker_processes 1; # 线程数
# 1.event块
events {
worker_connections 1024;
}
# 2.http块
http {
## 2.1 http 全局块
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
## 2.2 server块
server{
listen 80; # 监听端口
server_name 192.168.1.111; # 要访问的地址(nginx地址)
location / {
proxy_pass http://127.0.0.1:8080; # 要转发的地址(反向代理的地址)
}
}
## 第二个代理规则
server{
listen 9001; # 监听端口
server_name 192.168.1.112; # 要访问的地址(nginx地址)
location ~ /edu/ { # `~`是正则表达式的意思,如果包含`/edu/`
proxy_pass http://127.0.0.1:8080; # 要转发的地址(反向代理的地址)
}
location ~ /it/ { # `~`是正则表达式的意思,如果包含`/it/`
proxy_pass http://127.0.0.1:8081; # 要转发的地址(反向代理的地址)
}
}
}
负载均衡
http {
## 2.1 http 全局块
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
upstream myserver { # 负载均衡
server http://127.0.0.1:8080;
server http://127.0.0.1:8081;
}
## 第二个代理规则
server{
listen 80; # 监听端口
server_name 192.168.1.113; # 要访问的地址(nginx地址)
location ~ /edu/ { # `~`是正则表达式的意思,如果包含`/edu/`
proxy_pass http://myserver; # 和upstream的保持一致
}
}
}
1.轮询策略(默认),如果某台服务器挂掉,自动去除
2.权重策略
upstream myserver { # 负载均衡
server http://127.0.0.1:8080; weight =5;
server http://127.0.0.1:8081; weight =10;
}
3.ip_hash策略,按ip hash的结果分配,每个方可固定访问一个服务器,解决session问题
upstream myserver { # 负载均衡
ip_hash;
server http://127.0.0.1:8080; weight =5;
server http://127.0.0.1:8081; weight =10;
}
4.fair策略,按服务器的访问时间,谁的响应时间短,分配给谁
upstream myserver { # 负载均衡
server http://127.0.0.1:8080; weight =5;
server http://127.0.0.1:8081; weight =10;
fair;
}