反向代理配置
location / {
proxy_pass http://sunpy.com;
root html;
index index.html index.htm;
}
说明:proxy_pass指令,代理后端服务器的地址。
配置代理常用指令
proxy_redirect off;
重写后端服务器的location和refresh头。
proxy_set_header Host $host;
重写发送给后端服务器的请求头内容。
proxy_connect_timeout 300;
代理服务器接收请求到连接后端服务器的最长等待时间。
proxy_buffer_size 4k;
后端响应的缓冲区数量和大小。
proxy_buffers 4 32k;
请求后端的缓冲区数量和大小。
proxy_busy_buffers_size 64k;
当代理服务器忙时,缓冲区的最大值。
proxy_send_timeout 300
将超时与请求传输到代理服务器分配。
proxy_read_timeout 300
NGINX等待获取请求响应的时间。
upstream
ip_hash:指令通过ip地址生成hash值将客户端均匀地连接到所有服务器。
keepalive:指令指定每个worker进程缓存后端服务器的长连接数。
least_conn:指令激活负载均衡算法,使用最少连接数。
server:
---- weight:设置服务器的优先级。
---- fail-timeout、max-fails:在fail-timeout时间内出现了max-fails次数的连接失败,nginx则认为该后端服务器已经挂掉了。
---- backup:指定服务器的备用机器,只有非backup机器挂掉,才会接收请求。
---- down:指定当前的服务器不再接收请求。
nginx负载均衡策略
- 轮询机制(默认)
就是按照时间顺序将请求发送到不同的server。
例:使用默认的轮询,nginx将请求分发到不同的server。
修改tomcat的index.jsp,打印当前机器的server。
request ip address : <%=InetAddress.getLocalHost().getHostAddress().toString() %>
upstream sunpy.com {
server 106.12.42.149:8089;
server 47.99.197.133:8089;
}
- 通过ip生成hash值均匀分配到服务器 ip_hash
upstream sunpy.com {
ip_hash;
server 106.12.42.149:8089;
server 47.99.197.133:8089;
}
- 使用最少连接数 least_conn
upstream sunpy.com {
least_conn;
server 106.12.42.149:8089;
server 47.99.197.133:8089;
}
参考:
http://www.nginx.cn/doc/standard/httpproxy.html
精通nginx(第二版)
网友评论