Nginx 负载均衡

 

什么是nginx负载均衡?

Nginx作为一个强大的web服务器管理软件,自身带有负载均衡和反向代理的功能,那么他和lvs之间有什么区别呢?

LVS负载:是基于4层的负载均衡,

优点:

1抗负载能力强

2配置性低

3工作稳定

4无流量

5基本支持所有应用负载均衡,如WEB,数据库

Nginx负载:基于7层的负载均衡

特点:

1nginx工作在网络7层,他可以针对http本身做分发策略,如域名,目录结构等

2nginx对网络依赖小

3配置简单,测试方便

4nginx同样能承受很高负载且稳定

 

Nginx应用场景

适用于7层的负载均衡

 

Nginx缺点:

1、Nginx仅能支持http、https和Email协议,这样就在适用范围上面小些,这个是它的缺点。

2、对后端服务器的健康检查,只支持通过端口来检测,不支持通过url来检测。不支持Session的直接保持,但能通过ip_hash来解决。

 

 

 

Nginx负载均衡配置

 

架构

负载: 192.168.1.104

Web1192.168.1.105

Web2192.168.1.106

 

测试两个web之间网站是否正常,和服务器是否通信

 

 

Ok 都通信

 

现在开始配置负载  nginx

 

首先将hosts文件添加另外两台host文件 保证域名通信

 

 

Ok 确保域名通信

 

配置nginx.conf文件

前面咱们说了nginx 负载均衡需要一个模块 upstream

这个模块是用来做负载均衡的

 

 

 

upstream servers     {

        server 192.168.1.105:80 weight=1;

        server 192.168.1.106:80 weight=1;

}

 

 

 

Nginx 反向代理

Nginx 反向代理除了通过ip地址转发,还可以通过url 扩展名转发等等,后续补上

upstream servers     {

        server 192.168.1.105:80 weight=1;

        server 192.168.1.106:80 weight=1;

}

 

    server {

        listen       80;

        server_name  www.xiaohu.com;

        location / {

            proxy_pass  http://192.168.1.105;  这里指的是代理的地址,地址必须在upstream模块里才能跳转

            root   html;

 

 

测试

[root@localhost ~]# curl www.xiaohu.com

192.168.1.105

 

跳转到105