nginx负载均衡的配置实现方法

发布时间:2020-06-10编辑:脚本学堂
本文介绍下,在nginx中配置负载均衡的方法,通过一个实际的案例,学习下nginx负载均衡的配置办法,感兴趣的朋友参考下吧。

本节内容:
nginx 负载均衡

将一台Nginx主机当作前端负载均衡服务器,后面通过交换机链接多台web服务器,提供html和php的web界面服务。

通过配置前端负载均衡服务器,可以实现将html界面和php界面的分开访问,即html页面一个服务器,php页面使用另一台服务器达到负载均衡的效果。

或配置多台服务器提供同一个页面的web服务,当访问量很大时,可以均衡web服务器的流量,对同一个页面实现负载均衡。

具体配置:
 

复制代码 代码示例:

#vi nginx.conf
#在http中添加如下配置
upstream html.jb200.com{
    server 10.0.8.29:80 weight=1 max_fails=2 fail_timeout=30s;
}
upstream www.jb200.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.jb200.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.jb200.com进行访问,此页面由前面upstream设置。
location ~ .html$ {
    proxy_pass http://html.jb200.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.jb200.com进行访问。