安装部署nginx负载均衡

使用两台虚拟机部署nginx:
安装依赖包:

# yum install gcc gcc-c++ openssl-devel pcre-devel zlib-devel

上传源码包到root下:

nginx-1.12.2.tar.gz

解压并进入nginx:

# tar zxf nginx-1.12.2.tar.gz
# cd nginx-1.12.2

编译并安装:

# ./configure && make && make install

启动nginx:

# /usr/local/nginx/sbin/nginx

查看80端口是否启动成功:

# netstat -lptnu | grep 80

启动成功查看网页是否显示nginx:
在这里插入图片描述
安装keepalived:

# yum install keepalived

修改其配置文件:

# vi /etc/keepalived/keepalived.conf

! Configuration File for keepalived

global_defs {
   router_id LVS_DEVEL
}

vrrp_script check_nginx {
  script "pidof nginx"
  interval 2
  weight 20
}

vrrp_instance check_nginx {
    state BACKUP
    interface ens37
    virtual_router_id 98
    priority 99
    virtual_ipaddress {
        192.168.197.100/24
    }
    track_script {
        check_nginx
    }
}

启动keepalived:

# systemctl start keepalived

查看是否配置成功:
在这里插入图片描述
在这里插入图片描述

# ip a
关闭第一台nginx:
# netstat -lptnu |grep 80
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      3631/nginx: master  
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1080/sshd           
tcp6       0      0 :::22                   :::*                    LISTEN      1080/sshd           
# kill 3631
# netstat -lptnu |grep 80
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1080/sshd           
tcp6       0      0 :::22                   :::*                    LISTEN      1080/sshd

进行测试:查看 nginx VIP 是否跳转
在这里插入图片描述
在这里插入图片描述

nginx 常见的负载均衡有哪几种:

1、轮询(默认)
  轮询是默认的方式,轮询的方法是通过按照时间顺序将请求往不同的后端服务器发送,来缓解服务器的压力。如果后台服务器上某一台宕机了,它可以自动剔除。缺点:可靠性低和负载分配不均衡。适用于图片服务器和静态页面服务器集群。
2、weight
  指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的情况。

例如: 
upstream bakend { 
  server 192.168.159.10 weight=10; 
  server 192.168.159.11 weight=10; 
} 

3、ip_hash
  根据每个请求的ip的hash结果分配,因此每个固定ip能访问到同一个后端服务器,可以解决session问题。

例如: 
upstream resinserver{ 
  ip_hash; 
  server 192.168.159.10:8080; 
  server 192.168.159.11:8080; 
} 

4、fair(第三方)
  按照后端服务器的相应时间来分配请求,时间短的优先分配。

例如:
upstream resinserver{ 
  server server1; 
  server server2; 
  fair; 
} 

5、url_hash(第三方)
  按照访问url的hash结果来分配请求,每个固定的url访问同一个后端服务器。如果后端服务器是缓存时效率高。

例如:在upstream中加入hash语句,server语句中不能写入weight等其他的参数,hash_method是使用的hash算法:
upstream resinserver{ 
  server squid1:3128; 
  server squid2:3128; 
  hash $request_uri; 
  hash_method crc32; 
} 

tips: 
upstream resinserver{  #定义负载均衡设备的IP及设备状态 
ip_hash; 
server 127.0.0.1:8000 down; 
server 127.0.0.1:8080 weight=2; 
server 127.0.0.1:6801; 
server 127.0.0.1:6802 backup; 
} 

Nginx不仅仅是一款优秀的负载均衡器/反向代理软件,它同时也是功能强大的Web应用服务器,可以做七层的转发 URL和目录的转发都可以做:

nginx工作在网络的第7层,所以它可以针对http应用本身来做分流策略,比如针对域名、目录结构等
nginx对网络的依赖较小,理论上只要ping得通,网页访问正常,nginx就能连得通
nginx安装和配置比较简单,测试起来也很方便 
nginx可以检测到服务器内部的故障,比如根据服务器处理网页返回的状态码、超时等等,并且会把返回错误的请求重新提交到另一个节点。
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值