• Nginx 配置实例-配置高可用


    1. 实现效果

    2. 两台机器 nginx 的安装

    2.1 192.168.25.120 中 nginx 的安装

    2.1.1 安装 pcre 依赖

    su - root							// 切换到 root 用户
    
    tar zxvf pcre-8.37.tar.gz			// 解压 pcre 安装包	
    
    cd pcre-8.37						// 进入 pcre-8.37 目录	
    ./configure							// 配置 pcre-8.37 
    make && make install				// 编译安装 pcre-8.37
    
    pcre-config --version				// pcre 安装成功后,查看其版本号
     

     

    2.1.2 安装其他依赖

    su - root							// 切换到 root 用户
    
    // 安装其他依赖
    yum -y install make zlib zlib-devel gcc-c++ libtool openssl openssl-devel
     

     

    2.1.3 Nginx 的安装

    su - root							// 切换到 root 用户
    
    tar zxvf nginx-1.12.2.tar.gz		// 解压 nginx-1.12.2.tar.gz 安装包
    
    cd nginx-1.12.2						// 进入 nginx-1.12.2 目录
    ./configure							// 配置 nginx-1.12.2
    make && make install				// 编译安装 nginx-1.12.2
     

     

    2.1.4 验证

    /usr/local/nginx/sbin/nginx				// 启动 nginx
    /usr/local/nginx/sbin/nginx -s stop		// 停止 nginx
    ps -ef | grep nginx						// 查看 nginx 进程状态
     

     

    启动 nginx 之后,浏览器访问 nginx 所在主机的 IP 即端口,此处为 192.168.25.120:80(80为默认短裤,访问时可省略),显示页面如下:
    在这里插入图片描述

    2.2 192.168.25.121 中 nginx 的安装

    2.2.1 安装 pcre 依赖

    su - root							// 切换到 root 用户
    
    tar zxvf pcre-8.37.tar.gz			// 解压 pcre 安装包	
    
    cd pcre-8.37						// 进入 pcre-8.37 目录	
    ./configure							// 配置 pcre-8.37 
    make && make install				// 编译安装 pcre-8.37
    
    pcre-config --version				// pcre 安装成功后,查看其版本号
     

     

    2.2.2 安装其他依赖

    su - root							// 切换到 root 用户
    
    // 安装其他依赖
    yum -y install make zlib zlib-devel gcc-c++ libtool openssl openssl-devel
     

     

    2.2.3 Nginx 的安装

    su - root							// 切换到 root 用户
    
    tar zxvf nginx-1.12.2.tar.gz		// 解压 nginx-1.12.2.tar.gz 安装包
    
    cd nginx-1.12.2						// 进入 nginx-1.12.2 目录
    ./configure							// 配置 nginx-1.12.2
    make && make install				// 编译安装 nginx-1.12.2

     

    2.2.4 验证

    /usr/local/nginx/sbin/nginx				// 启动 nginx
    /usr/local/nginx/sbin/nginx -s stop		// 停止 nginx
    ps -ef | grep nginx						// 查看 nginx 进程状态
     

     

    启动 nginx 之后,浏览器访问 nginx 所在主机的 IP 即端口,此处为 192.168.25.120:80(80为默认短裤,访问时可省略),显示页面如下:
    在这里插入图片描述

    3. 两台机器 keepalived 的安装

    3.1 192.168.25.120 中 keepalived 的安装

    keepalived 配置文件位置:/etc/keepalived/keepalived.conf

    # 使用 yum 命令安装 keepalived
    yum install -y keepalived
    
    # 使用 rpm 命令查询 keepalived 的安装包
    rpm -q -a keepalived
     

     

    3.2 192.168.25.121 中 keepalived 的安装

    keepalived 配置文件位置:/etc/keepalived/keepalived.conf

    # 使用 yum 命令安装 keepalived
    yum install -y keepalived
    
    # 使用 rpm 命令查询 keepalived 的安装包
    rpm -q -a keepalived
     

     

    4. 两台机器高可用的配置

    这里采用 192.168.25.120 为主、192.168.25.121 为备的架构,其中 nginx_check.sh 脚本用于检测 nginx 是否存活

    4.1 nginx 检测脚本的准备

    nginx_check.sh

    #!/bin/bash
    A=`ps -C nginx ¨Cno-header |wc -l`
    if [ $A -eq 0 ];then
        /usr/local/nginx/sbin/nginx
        sleep 2
        if [ `ps -C nginx --no-header |wc -l` -eq 0 ];then
            killall keepalived
        fi
    fi
     

     

    4.2 192.168.25.120 主机的 keepalived 配置文件的修改

    keepalived 配置文件位置:/etc/keepalived/keepalived.conf

    ! Configuration File for keepalived
    
    global_defs {
       notification_email {
         acassen@firewall.loc
         failover@firewall.loc
         sysadmin@firewall.loc
       }
       notification_email_from Alexandre.Cassen@firewall.loc
       smtp_server 192.168.25.120		# smtp 服务器地址,本机IP
       smtp_connect_timeout 30
       router_id LVS_DEVEL
    }
    
    vrrp_script chk_http_port {
        script "/usr/local/nginx/nginx_check.sh"
        interval 2              # 检测脚本执行的间隔
        weight 2
    }
    
    vrrp_instance VI_1 {
        state MASTER            # 备份服务器上将 MASTER 改为 BACKUP
        interface eth0          # 网卡
        virtual_router_id 51    # 主、备机的 virtual_router_id 须相同
        priority 90            # 主、备机取不同的优先级,主机值较大,备机值较小
        advert_int 1
        authentication {
            auth_type PASS
            auth_pass 1111
        }
        virtual_ipaddress {
            192.168.25.125      # VRRP H 虚拟地址
        }
    }

    4.3 192.168.25.121 主机的 keepalived 配置文件的修改

    keepalived 配置文件位置:/etc/keepalived/keepalived.conf

    ! Configuration File for keepalived
    
    global_defs {
       notification_email {
         acassen@firewall.loc
         failover@firewall.loc
         sysadmin@firewall.loc
       }
       notification_email_from Alexandre.Cassen@firewall.loc
       smtp_server 192.168.25.121
       smtp_connect_timeout 30
       router_id LVS_DEVEL
    }
    
    vrrp_script chk_http_port {
        script "/usr/local/nginx/nginx_check.sh"
        interval 2              # 检测脚本执行的间隔
        weight 2
    }
    
    vrrp_instance VI_1 {
        state MASTER            # 备份服务器上将 MASTER 改为 BACKUP
        interface eth0          # 网卡
        virtual_router_id 51    # 主、备机的 virtual_router_id 须相同
        priority 100            # 主、备机取不同的优先级,主机值较大,备机值较小
        advert_int 1
        authentication {
            auth_type PASS
            auth_pass 1111
        }
        virtual_ipaddress {
            192.168.25.125      # VRRP H 虚拟地址
        }
    }
     

     

     

    5. 验证

    5.1 启动 keepalived

    # 启动 keepalived
    systemctl start keepalived.service
     

     

    5.2 测试 keepalived 中虚拟 IP 的绑定

    浏览器访问 keepalived 中配置的虚拟 IP:192.168.25.125
    在这里插入图片描述
    使用 ip 命令查看,发现当前 121 主机的网卡 eth0 已绑定 192.168.25.125 的虚拟 IP

     
  • 相关阅读:
    js指定区域全屏
    sql中对日期的筛选
    SQL Server查询死锁,杀死进程解决死锁
    SqlServer数据类型、C#SqlDbType对应关系及转换
    用SqlDataReader返回多个结果集
    SQL重复记录查询的几种方法
    IIS支持10万个同时请求的设置
    常量与变量的命名法则
    远程服务器返回错误: (405) 不允许的方法。
    The view 'Index' or its master was not found or no view engine supports the
  • 原文地址:https://www.cnblogs.com/xiao-xue-di/p/12834730.html
Copyright © 2020-2023  润新知