//配置nginx 负载IP端口
upstream tomcatserver{
server localhost:8082 max_fails=2 fail_timeout=60s;
server localhost:8083 max_fails=2 fail_timeout=60s backup;
}
server {
listen 9300;
server_name localhost;
fastcgi_connect_timeout 300;
fastcgi_send_timeout 300;
fastcgi_read_timeout 300;
fastcgi_buffer_size 64k;
fastcgi_buffers 4 64k;
fastcgi_busy_buffers_size 128k;
fastcgi_temp_file_write_size 256k;
location / {
proxy_connect_timeout 1;
proxy_read_timeout 1;
proxy_send_timeout 1;
proxy_next_upstream error timeout http_502 http_503 http_504;
proxy_pass http://tomcatserver/;
}
}
参数描述
backup 参数是指当所有非备机都宕机或者不可用的情况下,就只能使用带backup标准的备机。
max_fails参数的理解:max_fails默认为1,fail_timeout默认为10秒,也就是说,默认情况下后端服务器在10秒钟之内可以容许有一次的失败,如果超过1次则视为该服务器有问题,将该服务器标记为不可用。等待10秒后再将请求发给该服务器,以此类推进行后端服务器的健康检查。
proxy_connect_timeout 参数是连接的超时时间。 设置成1,表示是1秒后超时会连接到另外一台服务器。
proxy_read_timeout 参数是接收数据超时时间, 设置成2, 如果连续的2s内没有收到1个字节, 连接关闭,默认60s。
proxy_send_timeout 参数是发送数据到服务器的超时时间, 设置成1, 如果连续的1s内没有发送1个字节, 连接关闭,默认60s。
proxy_next_upstream 确定在何种情况下请求将转发到下一个服务器,timeout和connect refuse是永远被记录错误状态,而502、500、503、504只有在配置proxy_next_upstream参数之后nginx才会记录这4种HTTP错误到fails中。
语法:proxy_next_upstream [error|timeout|invalid_header|http_500|http_502|http_503|
http_504|http_404|off]
//此方法会造成服务器资源浪费的情况
建议使用
Nginx+Keppalive主备模式+自动重启
看到一篇不错博客,有需要可以去看看