zoukankan      html  css  js  c++  java
  • keepalive+nginx

    1Nginx+keepAlived负载均衡高可用
    1.1Nginx+keepAlive架构图

     

    1.1.1主机宕机


    1.1.2主机恢复


    1.1.3高可用环境


    两台nginx,一主一备:192.168.101.3和192.168.101.4
    tomcat服务器(集群):192.168.101.5、192.168.101.6


    1.2安装nginx

    1、 需要安装gcc的环境。

    yum install gcc-c++
    2、第三方的开发包。
    PCRE
    PCRE(Perl Compatible Regular Expressions)是一个Perl库,包括 perl 兼容的正则表达式库。nginx的http模块使用pcre来解析正则表达式,所以需要在linux上安装pcre库。
    yum install -y pcre pcre-devel
    注:pcre-devel是使用pcre开发的一个二次开发库。nginx也需要此库。
    zlib
    zlib库提供了很多种压缩和解压缩的方式,nginx使用zlib对http包的内容进行gzip,所以需要在linux上安装zlib库。
    yum install -y zlib zlib-devel

    openssl
    OpenSSL 是一个强大的安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及SSL协议,并提供丰富的应用程序供测试或其它目的使用。
    nginx不仅支持http协议,还支持https(即在ssl协议上传输http),所以需要在linux安装openssl库。
    yum install -y openssl openssl-devel

    安装步骤:

    第一步:把nginx的源码包上传到linux系统
    第二步:解压缩
    [root@localhost ~]# tar zxf nginx-1.8.0.tar.gz
    第三步:使用configure命令创建一makeFile文件。
    ./configure
    --prefix=/usr/local/nginx
    --pid-path=/var/run/nginx/nginx.pid
    --lock-path=/var/lock/nginx.lock
    --error-log-path=/var/log/nginx/error.log
    --http-log-path=/var/log/nginx/access.log
    --with-http_gzip_static_module
    --http-client-body-temp-path=/var/temp/nginx/client
    --http-proxy-temp-path=/var/temp/nginx/proxy
    --http-fastcgi-temp-path=/var/temp/nginx/fastcgi
    --http-uwsgi-temp-path=/var/temp/nginx/uwsgi
    --http-scgi-temp-path=/var/temp/nginx/scgi
    注意:启动nginx之前,上边将临时文件目录指定为/var/temp/nginx,需要在/var下创建temp及nginx目录
    [root@localhost sbin]# mkdir /var/temp/nginx/client -p
    第四步:make
    第五步:make install

    1.3安装keepalived


    1.3.1安装环境


    su - root
    yum -y install kernel-devel*
    yum -y install openssl-*
    yum -y install popt-devel
    yum -y install lrzsz
    yum -y install openssh-clients
    yum -y install libnl libnl-devel popt
    1.3.2安装keepalived
    将keepalived-1.2.15.tar.gz上传到服务器/usr/local/下。

    cd /usr/local
    tar -zxvf keepalived-1.2.15.tar.gz
    cd keepalived-1.2.15

    执行配置命令
    ./configure --prefix=/usr/local/keepalived

    3、编译
    make
    4、安装
    make install

    至此安装成功

    5、拷贝执行文件
    cp /usr/local/keepalived/sbin/keepalived /usr/sbin/
    6、将init.d文件拷贝到etc下,加入开机启动项
    cp /usr/local/keepalived/etc/rc.d/init.d/keepalived /etc/init.d/keepalived
    7、将keepalived文件拷贝到etc下,加入网卡配置
    cp /usr/local/keepalived/etc/sysconfig/keepalived /etc/sysconfig/
    8、创建keepalived文件夹
    mkdir -p /etc/keepalived
    9、将keepalived配置文件拷贝到etc下
    cp /usr/local/keepalived/etc/keepalived/keepalived.conf /etc/keepalived/keepalived.conf
    10、添加可执行权限
    chmod +x /etc/init.d/keepalived
    1.4配置keepalived
    1.4.1主nginx配置
    修改主nginx下/etc/keepalived/keepalived.conf文件

     


    1.4.1.1备nginx
    修改备nginx下/etc/keepalived/keepalived.conf文件
    配置备nginx时需要注意:需要修改state为BACKUP , priority比MASTER低,virtual_router_id和master的值一致


    1.4.2测试
    主备nginx都启动keepalived及nginx。
    service keepalived start
    ./nginx

    1.4.2.1初始状态
    查看主nginx的eth0设置:
    vip绑定在主nginx的eth0上。


    查看备nginx的eth0设置:
    vip没有绑定在备nginx的eth0上。


    访问ccc.test.com,可以访问。

    1.4.2.2主机宕机
    将主nginx的keepalived停止或将主nginx关机(相当于模拟宕机),查看主nginx的eth0:
    eth0没有绑定vip

    注意这里模拟的是停止 keepalived进程没有模拟宕机,所以还要将nginx进程也停止表示主nginx服务无法提供。

    查看备nginx的eth0:
    vip已经漂移到备nginx。


    访问ccc.test.com,可以访问。

    1.4.2.3主机恢复
    将主nginx的keepalived和nginx都启动。
    查看主nginx的eth0:

    查看备nginx的eth0:
    vip漂移到主nginx。


    查看备nginx的eth0:
    eth0没有绑定vip

    访问:ccc.test.com,正常访问。
    注意:主nginx恢复时一定要将nginx也启动(通常nginx启动要加在开机启动中),否则即使vip漂移到主nginx也无法访问。

     

    欢迎转载: 

    中文名:惠凡

    博客名:淹死的鱼o0

    转载时请说明出处:http://www.cnblogs.com/huifan/

  • 相关阅读:
    123
    搭建https://github.com/vulhub/vulhub靶场_初稿
    【译】 渗透测试实战第三版(红队版)
    sqlmap
    fiddler一些高级用法
    安装django和selenium
    python中os模块
    python通过日志分析加入黑名单
    python简单的购物系统
    python文件操作
  • 原文地址:https://www.cnblogs.com/huifan/p/9305070.html
Copyright © 2011-2022 走看看