两台服务器如何互相做nginx负载均衡

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了两台服务器如何互相做nginx负载均衡相关的知识,希望对你有一定的参考价值。

环境介绍

       192.168.127.131  nginx负载均衡 兼web服务器

       192.168.127.130  nginx负载均衡 兼web服务器

每台服务器上面有两个web站点分别是

www.123.com

www.hu.com 

说明:

准备用dns轮询解析来实现负载均衡,并且在两台server上面还同时启用了Nginx负载均衡,两台服务器是互为负载。前提是两台web服务端的网站内容一致。


配置过程:

在130负载均衡上面的操作:

上面编辑一个配置文件 vi /usr/local/nginx/conf/vhost/ld.conf 

##www.123.com


 upstream 123{
     server 192.168.127.130:81;      
     server 192.168.127.131:81 ;    
ip_hash;
}server {
     listen 80;
     server_name  www.123.com;
     location / {       proxy_pass http://www/;       proxy_set_header Host $host;  }
}
upstream hu {
   server 192.168.253.131:82;
   server 192.168.253.130:82;   #dir
   ip_hash;
}
server {
    listen 80;
    server_name www.hu.com;
    location / {
        proxy_pass http://aaa/;
        proxy_set_header Host   $host;
        proxy_set_header X-Real-IP      $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }

————————————————————————————————————————————————

更改 nginx负载服务器上面各个web主机的默认端口  (红色部分字体 )

server
{
    listen 192.168.127.130:82;
    server_name www.hu.com;
    index index.html index.htm index.php;
    root /usr/local/nginx/html;
    location ~ \.php$ {
        include fastcgi_params;
        fastcgi_pass unix:/tmp/php-fcgi.sock;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME /usr/local/nginx/html$fastcgi_script_name;
    }
}

—————————————————————————————————————————————

server
{
    listen 192.168.127.130:81 ;
    server_name www.123.com;
    index index.html index.htm index.php;
    root /data/www2;
    location ~ \.php$ {
        include fastcgi_params;
        fastcgi_pass unix:/tmp/php-fcgi.sock;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME /data/www2$fastcgi_script_name;
    }
}

131上面的配置:



server
{
    listen 192.168.127.131:81 ;
    server_name www.123.com;
    index index.html index.htm index.php;
    root /data/www2;
    location ~ \.php$ {
        include fastcgi_params;
        fastcgi_pass unix:/tmp/php-fcgi.sock;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME /data/www2$fastcgi_script_name;
    }
}

#####################################################################

server
{
    listen 192.168.127.131:81 ;
    server_name www.123.com;
    index index.html index.htm index.php;
    root /data/www2;
    location ~ \.php$ {
        include fastcgi_params;
        fastcgi_pass unix:/tmp/php-fcgi.sock;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME /data/www2$fastcgi_script_name;
    }
}

#########################################################################################

同样的在 上面编辑一个配置文件 vi /usr/local/nginx/conf/vhost/ld.conf 

##www.123.com


 upstream 123{
     server 192.168.127.130:81;      
     server 192.168.127.131:81 ;    
ip_hash;
}server {
     listen 80;
     server_name  www.123.com;
     location / {       proxy_pass http://www/;       proxy_set_header Host $host;  }
}
upstream hu {
   server 192.168.253.131:82;
   server 192.168.253.130:82;   
   ip_hash;
}
server {
    listen 80;
    server_name www.hu.com;
    location / {
        proxy_pass http://aaa/;
        proxy_set_header Host   $host;
        proxy_set_header X-Real-IP      $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }


最后分别启动nginx服务并查看端口是否正常启动


测试:分别在两个网站的目录里添加1.txt测试文件,里面写上不同的内容然后用浏览器访问 www.hu.com/1.txt,刷新几次

同样的,www.123.com/1.txt也是这样


本文出自 “渐行渐远” 博客,请务必保留此出处http://825536458.blog.51cto.com/4417836/1784794

以上是关于两台服务器如何互相做nginx负载均衡的主要内容,如果未能解决你的问题,请参考以下文章

Nginx反向代理负载均衡

Nginx负载均衡+keepalived高可用

双节点(nginx+keepalived)为两台apache服务器提供负载均衡

nginx在做负载均衡时如何配置

Nginx反向代理和负载均衡应用实战

Nginx反向代理和负载均衡应用实战