传统的高可用思路

tomcat的高可用的思路,是在tomcat集群前面加一层负载服务nginx。如下图

这种做法,解决了tomcat的高可用问题。但是引入了前面的负载机器的高可用问题(Nginx如果挂了,玩完)

如果nginx沿用此思路,总会有一个最前端是单机的,存在宕机玩完的风险(鸡生蛋蛋生鸡无穷尽)

15.2. lvs 思想解决高可用问题

如上图,由服务器集群虚拟出来一台 虚拟网关vip(不真实存在,自然不存在宕机问题),

此vip由两台机器共同协商生成。当有一台机器宕机时,另一台机器一样能维持vip。这保证了,只要两台机器不同时宕机,vip就存在

15.3. keepalived配置LVS过程

前提

1.关闭selinux,打开/etc/sysconfig/selinux设置其中值 à SELINUX=disabled

2.安装必须的依赖包

yum -y install libnl libnl-devel libnfnetlink-devel

keepalived安装

下载源码包--不能使用yum方式安装(有bug) --wget https://www.keepalived.org/software/keepalived-1.3.4.tar.gz

配置(指定安装目录和配置目录,否则文件太散乱) --./configure --prefix=/usr/local/keepalived --sysconf=/etc

make && make install

keepalived主机配置

打开/etc/keepalived/keepalived.conf,只需要配置如下一段。(其它是多余配置,删除)

启动keepalived,查看机器ip地址,可发现多出一个244.200的ip

此时,使用原ip地址244.253能打开的页面,使用244.200也能打开

keepalived从机配置

从机配置与主机过程完全一样,配置文件内以下标识id与优先级稍作变化即可

启动从机的keepalived后,可发现其ip地址无变化

keepalived校验LVS效果

1、此时,杀掉主机上的keepalived,244.200的ip将从主机上消失。而出现的从机的ip中

2、再次启动主机的keepalived,244.200的ip将被主机重新夺回

3、此效果是单主单备方式。备机资源有一定的浪费。可以重复前面的动作,虚拟出第二个ip,将主从机优先级颠倒,从而利用起备机服务

keepalived监控服务软件

以上操作中,keepalived很好的实现了LVS功能,即集群机器共同虚拟一个vip,并实现在集群中自动漂移。

但假如物理机状况良好,并不能保障其上运行的服务软件ok,因此需要借助keepalived来监控服务软件。

a、使用keepalived来监控nginx

编辑一个sh监控脚本,sh脚本:

#!/bin/bash
A=`ps -C nginx --no-header |wc -l`       #统计nginx进程是否存在
if [ $A -eq 0 ];then                            #为0,表明nginx停止了/usr/local/nginx/sbin/nginx                #尝试重启nginxif [ `ps -C nginx --no-header |wc -l` -eq 0 ];then    #nginx重启失败,则keepalived自杀,进行VIP转移killall keepalived    #杀掉,vip就漫游到另一台机器                fi
fi

b、在配置文件中加入以下两处配置:

c、重启keepalived,测试监控效果,如下图操作:

以上内容希望帮助到大家,很多PHPer在进阶的时候总会遇到一些问题和瓶颈,业务代码写多了没有方向感,不知道该从那里入手去提升,对此我整理了一些资料,包括但不限于:分布式架构、高可扩展、高性能、高并发、服务器性能调优、TP6,laravel,YII2,Redis,Swoole、Swoft、Kafka、Mysql优化、shell脚本、Docker、微服务、Nginx等多个知识点高级进阶干货需要的可以免费分享给大家,需要

PHP进阶架构师>>>视频、面试文档免费获取​docs.qq.com

或 者关注咱们下面的知乎专栏

PHP大神进阶​zhuanlan.zhihu.com

来源:https://www.cnblogs.com/liliuguang/p/12356525.html

laravel nginx配置_nginx高可用相关推荐

  1. Nginx+keepalived 实现高可用,防盗链及动静分离配置

    一.Nginx Rewrite 规则 1. Nginx rewrite规则 Rewrite规则含义就是某个URL重写成特定的URL(类似于Redirect),从某种意义上说为了美观或者对搜索引擎友好, ...

  2. Nginx+keepalived 实现高可用,防盗链及动静分离配置详解(值得收藏)

    作者:小不点啊 www.cnblogs.com/leeSmall/p/9356535.html 一.Nginx Rewrite 规则 1. Nginx rewrite规则 Rewrite规则含义就是某 ...

  3. Nginx简介配置及高可用详解

    1.Nginx简介 2.nginx指令配置详解 3.nginx负载均衡及反向代理实现 4.nginx浏览器跨域问题 5.nginx防盗链 6.nginx缓存 7.nginx压缩 8.nginx配置ht ...

  4. keepalive+nginx实现负载均衡高可用_超详细的LVS+keepalived+nginx实现高性能高可用负载均衡集群教程...

    概述 前面已经介绍了前两部分内容,下面主要介绍在nginx服务器方面的配置和测试整个集群是否可用. 在realserver端配置VIP 1.两台nginx服务器都要执行下面脚本: #vi /etc/r ...

  5. Nginx系列二:(Nginx Rewrite 规则、Nginx 防盗链、Nginx 动静分离、Nginx+keepalived 实现高可用)...

    一.Nginx Rewrite 规则 1. Nginx rewrite规则 Rewrite规则含义就是某个URL重写成特定的URL(类似于Redirect),从某种意义上说为了美观或者对搜索引擎友好, ...

  6. 在CentOS7上安装配置Corosync高可用集群过程全记录

    在CentOS7上安装配置Corosync高可用集群过程全记录 一.环境.拓朴及其他准备工作: 1-1:准备网络YUM源环境: All Nodes OS CentOS 7.3 x86_64: # wg ...

  7. keepalived+Nginx实现Web高可用

    环境准备:关闭防火墙.关闭SELinux.配置YUM源 一.部署keepalived服务 1.web4安装Keepalive [root@web4 ~]# yum -y install keepali ...

  8. MySQL高可用群集------配置MMM高可用架构

    MMM简介: MMM(Master-Master replication manager for Mysql,Mysql 主主复制管理器)是一套支持双主故障切换和双主日常管理的脚本程序.MMM使用Pe ...

  9. spring boot配置ip_Spring Cloud 配置中心高可用搭建

    本文通过config server连接git仓库来实现配置中心,除了git还可以使用svn或者系统本地目录都行. 引入依赖 <dependencies><dependency> ...

最新文章

  1. excel 粘贴了HTML怎么删掉,Excel怎么删除网页上复制删不掉的文本框
  2. 公司承担的国家发改委高技术产业化示范工程
  3. “疫”外爆发:没那么简单的视频会议
  4. mysql profiles清空_MYSQL 使用show profiles 分析性能
  5. Linux内核中makefile有什么作用?深入解析makefile工作过程和原理
  6. 适合 Java 新手的开源项目集合——在 GitHub 学编程
  7. 从生活中领悟设计模式(Python)
  8. 常用数据分析方法:方差分析怎么做?
  9. [C#][转载]Sqlite操作大全
  10. python中sep是什么意思_python sep啥意思
  11. ClickHouse-物化视图
  12. PLSQL连接Oracle 数据库配置详解
  13. tree traversal (树的遍历) - preorder traversal (前序遍历)
  14. 七牛 java 加水印_七牛云图片加水印
  15. 计算机导论alu的全名,计算机导论试题1.doc
  16. php 到数据库乱码怎么解决方法,php数据库乱码解决方法
  17. HP LaserJet 1010 打印机 - 在 Win 7 下安装驱动
  18. WPS以及它的两种方式PIN与PBC的理解
  19. 欢迎潍坊市委组织部副部长都焕德一行莅临润达软件考察指导
  20. 自动特征构建工具——featuretools

热门文章

  1. 接口测试——Fiddler使用要点——笔记整理
  2. Android状态栏语言,Android实现3种Notification(状态栏通知)
  3. Java环境安装手册
  4. python+selenium自动化driver.switch_to.frame用法
  5. Java21天打卡Day7-循环
  6. java this 方法,使用“this”用方法(用Java)
  7. 金三银四 | 吃透这套题,面试更有底气
  8. 刚入行的测试工程师如何自学软件测试【下篇】-- 软实力
  9. 10分钟搭建一套代码质量监控平台,开发从此不敢摸鱼
  10. python非线性规划问题_python玄学建模(2):非线性规划