1. 实现效果

2. 两台机器 nginx 的安装

2.1 192.168.25.120 中 nginx 的安装

2.1.1 安装 pcre 依赖

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

2.1.2 安装其他依赖

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

2.1.3 Nginx 的安装

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

2.1.4 验证

  1. /usr/local/nginx/sbin/nginx // 启动 nginx
  2. /usr/local/nginx/sbin/nginx -s stop // 停止 nginx
  3. 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 依赖

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

2.2.2 安装其他依赖

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

2.2.3 Nginx 的安装

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

2.2.4 验证

  1. /usr/local/nginx/sbin/nginx // 启动 nginx
  2. /usr/local/nginx/sbin/nginx -s stop // 停止 nginx
  3. 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

  1. # 使用 yum 命令安装 keepalived
  2. yum install -y keepalived
  3. # 使用 rpm 命令查询 keepalived 的安装包
  4. rpm -q -a keepalived
 

3.2 192.168.25.121 中 keepalived 的安装

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

  1. # 使用 yum 命令安装 keepalived
  2. yum install -y keepalived
  3. # 使用 rpm 命令查询 keepalived 的安装包
  4. rpm -q -a keepalived
 

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

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

4.1 nginx 检测脚本的准备

nginx_check.sh

  1. #!/bin/bash
  2. A=`ps -C nginx ¨Cno-header |wc -l`
  3. if [ $A -eq 0 ];then
  4. /usr/local/nginx/sbin/nginx
  5. sleep 2
  6. if [ `ps -C nginx --no-header |wc -l` -eq 0 ];then
  7. killall keepalived
  8. fi
  9. fi
 

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

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

  1. ! Configuration File for keepalived
  2. global_defs {
  3. notification_email {
  4. acassen@firewall.loc
  5. failover@firewall.loc
  6. sysadmin@firewall.loc
  7. }
  8. notification_email_from Alexandre.Cassen@firewall.loc
  9. smtp_server 192.168.25.120 # smtp 服务器地址,本机IP
  10. smtp_connect_timeout 30
  11. router_id LVS_DEVEL
  12. }
  13. vrrp_script chk_http_port {
  14. script "/usr/local/nginx/nginx_check.sh"
  15. interval 2 # 检测脚本执行的间隔
  16. weight 2
  17. }
  18. vrrp_instance VI_1 {
  19. state MASTER # 备份服务器上将 MASTER 改为 BACKUP
  20. interface eth0 # 网卡
  21. virtual_router_id 51 # 主、备机的 virtual_router_id 须相同
  22. priority 90 # 主、备机取不同的优先级,主机值较大,备机值较小
  23. advert_int 1
  24. authentication {
  25. auth_type PASS
  26. auth_pass 1111
  27. }
  28. virtual_ipaddress {
  29. 192.168.25.125 # VRRP H 虚拟地址
  30. }
  31. }

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

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

  1. ! Configuration File for keepalived
  2. global_defs {
  3. notification_email {
  4. acassen@firewall.loc
  5. failover@firewall.loc
  6. sysadmin@firewall.loc
  7. }
  8. notification_email_from Alexandre.Cassen@firewall.loc
  9. smtp_server 192.168.25.121
  10. smtp_connect_timeout 30
  11. router_id LVS_DEVEL
  12. }
  13. vrrp_script chk_http_port {
  14. script "/usr/local/nginx/nginx_check.sh"
  15. interval 2 # 检测脚本执行的间隔
  16. weight 2
  17. }
  18. vrrp_instance VI_1 {
  19. state MASTER # 备份服务器上将 MASTER 改为 BACKUP
  20. interface eth0 # 网卡
  21. virtual_router_id 51 # 主、备机的 virtual_router_id 须相同
  22. priority 100 # 主、备机取不同的优先级,主机值较大,备机值较小
  23. advert_int 1
  24. authentication {
  25. auth_type PASS
  26. auth_pass 1111
  27. }
  28. virtual_ipaddress {
  29. 192.168.25.125 # VRRP H 虚拟地址
  30. }
  31. }
 

5. 验证

5.1 启动 keepalived

  1. # 启动 keepalived
  2. systemctl start keepalived.service
 

5.2 测试 keepalived 中虚拟 IP 的绑定

浏览器访问 keepalived 中配置的虚拟 IP:192.168.25.125



使用 ip 命令查看,发现当前 121 主机的网卡 eth0 已绑定 192.168.25.125 的虚拟 IP

 

Nginx 配置实例-配置高可用的更多相关文章

  1. RabbitMQ集群安装配置+HAproxy+Keepalived高可用

    RabbitMQ集群安装配置+HAproxy+Keepalived高可用 转自:https://www.linuxidc.com/Linux/2016-10/136492.htm rabbitmq 集 ...

  2. Nginx 配置实例-配置动静分离

    Nginx 配置实例-配置动静分离 1. 静态资源的创建 2. nginx 动静分离的配置 3. 验证 1. 静态资源的创建 这里使用的静态资源主要为 HTML 静态文件和图片. mkdir -vp ...

  3. Nginx 配置实例-配置负载均衡

    Nginx 配置实例-配置负载均衡 0. 实例效果 1. 两个 tomcat 的安装(可选) 1.1 tomcat8081 的安装 1.1.1 tomcat8081 安装包的装备 1.1.2 tomc ...

  4. Nginx 配置实例-配置虚拟主机

    Nginx 配置实例-配置虚拟主机 配置基于域名的虚拟主机 1. 配置域名为 aaa.domain.com 的虚拟主机 1.1 nginx 中虚拟主机的配置 1.2 相关目录及文件的创建 1.3 验证 ...

  5. Nginx+Keepalived负载均衡高可用

    Nginx+Keepalived负载均衡高可用方案: Nginx 使用平台:unix.linux.windows. 功能: A.www web服务  http 80 b.负载均衡(方向代理proxy) ...

  6. nginx与keepalived实现高可用+Apache实现负载均衡

    nginx与keepalived实现高可用 本实验使用了四台虚拟机 两台需要安装nginx及keepalived 两台安装Apache nginx可以源码安装也可以用yum安装nginx yum安装n ...

  7. 23.Nginx+keepalived负载均衡高可用

    Nginx+keepalived负载均衡高可用 结构图 环境: 主 服务器:192.168.239.10 备 服务器:192.168.239.20 Web 服务器1:192.168.239.40 We ...

  8. MySQL 系列(五) 多实例、高可用生产环境实战

    MySQL 系列(五) 多实例.高可用生产环境实战   第一篇:MySQL 系列(一) 生产标准线上环境安装配置案例及棘手问题解决 第二篇:MySQL 系列(二) 史上最屌.你不知道的数据库操作 第三 ...

  9. Keepalived+LVS+Nginx负载均衡之高可用

    Keepalived+LVS+Nginx负载均衡之高可用 上一篇写了nginx负载均衡,此篇实现高可用(HA).系统整体设计是采用Nginx做负载均衡,若出现Nginx单机故障,则导致整个系统无法正常 ...

随机推荐

  1. 【原创】【基础】一文搞懂严蔚敏数据结构SqList &L和SqList L、ElemType &e和ElemType e

    旁白 最近小渔夫在看严蔚敏.李冬梅<数据结构 c语言版>(第2版),学到第二章顺序表的实现时,看到函数参数一会是SqList &L.一会又是SqList L.一会ElemType ...

  2. 【luogu P3803】【模板】多项式乘法(FFT)

    [模板]多项式乘法(FFT) 题目链接:luogu P3803 题目大意 给你两个多项式,要你求这两个多项式乘起来得到的多项式.(卷积) 思路 系数表示法 就是我们一般来表示一个多项式的方法: \(A ...

  3. SpringCloud之服务网关Gateway,入门+实操

    SpringCloudAlibaba微服务实战教程系列 Spring Cloud 微服务架构学习记录与示例 一. GateWay简介 Spring Cloud GateWay是Spring Cloud ...

  4. React-列表 & Key

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8" /> <title&g ...

  5. 寻找OEP

    1.使用ESP定律 OD载入后,F8一次,在寄存器窗口的ESP的内容上(如0012FFA4)右键:"在数据窗口中跟随",到内存数据窗口,将内存数据窗口以HEX数据形式显示,在刚才的 ...

  6. uni-app&H5&Android混合开发二 || 使用Android Studio打包应用APK

    前言: 在上一章节我们已经讲了如何uni-app离线打包Android平台教程,这一章就该来讲讲如何使用Android Studio打包应用APK提供给Android手机安装使用了. 第一步.首先打开 ...

  7. 【编译原理】求First和Follow

    写这篇博客的原因,是因为考试前以为自己已经将这个问题弄清楚了,但是,考试的时候,发现自己还是不会,特别是求follow集合.虽然考试结束了,希望屏幕前的你,可以真正理解这个问题. 码字和做视频都不容易 ...

  8. windows桌面图标及任务管理栏丢失

    背景环境: 卸载某些软件,如Auto CAD 2011 之后,会出现桌面图标和任务栏丢失的现象,某些重要文件没有保存或者不能注销及重启的动作 1:按组合键Ctrl+Shift+Esc,键调出任务管理器 ...

  9. 制作 PPT 的新方式出现了——GitHub 热点速览 v.21.19

    作者:HelloGitHub-小鱼干 想当初 Markdown 的出现,拯救了多少死在 Word 样式调整上的人,现在,slidev 出现了,它让你 Focus 在本该专注的 PPT 内容制作上而不需 ...

  10. 【近取 key】功能规格说明书

    目录 前置信息说明 概念介绍 记忆宫殿 A4纸背单词法 词图 单词掌握程度相关 用户和典型场景 系统功能设计 主页 词图相关功能 创建词图 查看词图 复习词图 个人控制台相关功能 我的词图 统计信息 ...