nginx负载均衡的实现

来源:互联网 发布:淘宝网旗袍专卖 编辑:程序博客网 时间:2024/04/28 22:07
    将一台nginx主机当作前端负载均衡服务器,后面通过交换机链接多台web服务器,提供html和php的web界面服务。通过配置前端负载均衡服务器,可以实现将html界面和php界面的分开访问,即html页面一个服务器,php页面使用另一台服务器达到负载均衡的效果。或者:配置多台服务器提供同一个页面的web服务,当访问量很大时,可以均衡web服务器的流量,对同一个页面实现负载均衡。
    具体配置如下:
      #vi nginx.conf
在http中添加如下配置
    upstream html.dear.com{
        server 10.0.8.29:80 weight=1 max_fails=2 fail_timeout=30s;
}
    upstream www.dear.com{
        server 10.0.8.32:80 weight=1 max_fails=2 fail_timeout=30s;
        server 10.0.8.31:80 weight=1 max_fails=2 fail_timeout=30s;
}               #权重,值相同就平分访问量#最大请求失败次数和失败时间,超出就跳到另一个服务器进行访问。
#以下参数可以根据需求进行设置
#压缩变量设置
     gzip  on;
#    gzip_min_length 2k;
#    gzip_buffers 4 64k;
#    gzip_http_version 1.1;
#    gzip_comp_level 5;
#    gzip_types text/plain application/x-javascript text/css application/xml;
#    gzip_vary off;
##客户端设置
#    client_max_body_size 100m;
#    client_body_buffer_size 512k;
#    client_header_timeout 5m;
#    client_body_timeout 5m;
##代理设置
#    proxy_connect_timeout 60;
#    proxy_read_timeout 60;
#    proxy_send_timeout 60;
#    proxy_buffer_size 128k;
#    proxy_buffers 4 128k;
#    proxy_busy_buffers_size 128k;
#    proxy_next_upstream error timeout invalid_header http_500 http_503 http_404;
#    proxy_temp_file_write_size 128k;
#    proxy_max_temp_file_size 128k;
#    proxy_cache_path /tmp/nginx levels=1:2
#     keys_zone=one:10m
#     inactive=7d max_size=10g;

在server中添加如下配置(可以理解为一个server配置就是一个web服务)
        location ~ \.php$ {
            proxy_pass http://www.dear.com;            #此路径由upstream指定。
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header Host $host;
            proxy_set_header X-Forward-For $proxy_add_x_forwarded_for;
        }
#当访问以.php结尾的页面时,就由proxy_pass跳转到www.dear.com进行访问,此页面由前面upstream设置。
        location ~ \.html$ {
            proxy_pass http://html.dear.com;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header Host $host;
            proxy_set_header X-Forward-For $proxy_add_x_forwarded_for;
        }
#当访问以.html结尾的页面时,跳转到html.dear.com进行访问。

原创粉丝点击