七层负载均衡
server {
listen 80;
server_name localhost;
location / {
proxy_pass http://name; //调用集群
}
}
upstream name {
server 127.0.0.1 80 weight=5;
server app1.test.com max_fails=3 fail_timeout=30s;
server unix:/tmp/php-fpm.sock;
server app2.test.com backup;
}
server 支持的参数:
weight 权重
max_conns=number 最大活动链接数 默认0 没有限制
max_fails 监测失败多少次标记为不可用
fail_timeout 单次监测超时时间,默认10s
backup 设置备份服务器,当所有服务器不可用将启用此服务器
down 标记down 状态
resolve 当server定义的是主机名,a记录发生变化会自动应用新IP,而不用重启nginx
ip_hash; 基于客户端remote_addr 源地址 ipv4 前24位 做hash计算,以实现会话保持
least_conn; 最少连接
rr 轮询
hash $request_url 根据请求uri做hash
hash $cookie_sessionid 基于cookie中的sessionid 这个key进程hash调度,实现绑定会话
四层负载均衡
stream { //调用模块
upstream sshserver { //定义集群
server 192.168.0.12:22; //定义集群内主机
}
server {
listen 800; //修改监听的端口
proxy_pass sshserver; //调用集群
}
}