Nginx负载均衡配置实例详解

测试环境

测试域名 :so.atucson.com

A服务器IP :121.199.27.88 (主)

B服务器IP :121.199.27.90

C服务器IP :121.199.27.91

部署思路

A服务器做为主服务器,域名直接解析到A服务器(121.199.27.89)上,由A服务器负载均衡到B服务器(121.199.27.90)与C服务器(121.199.27.91)上。

开始配置Nginx负载均衡

① 打开nginx.conf,文件位置在nginx安装目录的conf目录下。

在http段加入以下代码 :

upstream so_atucson {
      server  121.199.27.90:8080;
      server  121.199.27.91:8080;
    }
    server{
        listen 80;
        server_name so.atucson.com;
        location / {
                proxy_pass         http://so_atucson ;
                proxy_set_header   Host             $host;
                proxy_set_header   X-Real-IP        $remote_addr;
                proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
        }
}

已成功将so.atucson.com解析到121.199.27.90:8080 的IP

和 121.199.27.91:8080 的IP上

最后 保存重启nginx

# 通过上面的配置可以发现上面配置的负载均衡是按照1:1的方式来回切换,其实你也可以通过配置文件你可以站点的权重:
upstream  site { 
  server   121.199.27.90:8040 weight=2;
  server   121.199.27.91:8041 weight=1;
}
 
# weight即为对应网站的权重。
② 工作服务器配置方法

我们要在 B、C服务器nginx.conf设置如下
打开nginx.conf,在http段加入以下代码

server{
        listen 8080;
        server_name so.atucson.com;
        index index.html;
        root /data0/htdocs/www;
}

保存重启nginx

③ 测试
当访问so.atucson.com的时候,为了区分是转向哪台服务器处理我分别在B、C服务器下写一个不同内容的index.html文件,以作区分。

打开浏览器访问so.atucson.com结果,刷新会发现所有的请求均分别被主服务器(A) 分配到 B服务器(121.199.27.90)与C服务器(121.199.27.91)上,实现了负载均衡效果。

你可能感兴趣的:(Nginx负载均衡配置实例详解)