一、默认轮询模式
好处:每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除。
http {
include mime.types;
default_type application/octet-stream;
#tcp_nopush on;
keepalive_timeout 65;
#反向代理的配置 这是配置的两台机器 可以是多台
upstream test{
server 192.168.136.139:80;
server 192.168.136.136:80;
}
server {
#端口号
listen 80;
#域名
server_name localhost;
#访问的一些配置
location / {
root html;
index index.html index.htm;
}
#遇到错误跳转的文件
error_page 500 502 503 504 /50x.html;
#访问的目录
location = /50x.html {
root html;
}
location ~ \.php$ {
proxy_pass http://test; 后面不能加/http://test/是错误的
}
#配置动静结合
location ~ .*\.(html|htm|gif|jpg|jpeg|bmp|png|ico|txt|js|css)$
{
#访问目录
root /test/web;
expires 3d;
}
}
二、weight权重轮询
指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的情况。
例如:
upstream bakend {
server 192.168.159.10 weight=5;
server 192.168.159.11 weight=10;
}
三、ip_hash(基于ip的hash分配策略)
每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后端服务器,可以解决session的问题。
例如:
upstream resinserver{
ip_hash;
server 192.168.159.10:8080;
server 192.168.159.11:8080;
}
四、fair(第三方)基于服务响应式
按后端服务器的响应时间来分配请求,响应时间短的优先分配。
upstream resinserver{
server server1;
server server2;
fair;
}