• centos部署nginx集群


    部署nginx集群,一台nginx出故障,另外的nginx能直接使用(这里用两台做实验)

    规划:143.1.26.212是主,143.1.26.213是从,143.1.26.214是VIP(vip是客户访问的ip)

    小白教程,一看就会,一做就成。

    1.安装nginx(nginx-1.16.1为例)(两台服务器都部署一下)

    之前有写

    centos7部署nginx-CSDN博客

    2.安装keepalived(两台都安装keepalived,212是主,213是从)

    yum -y install keepalived

    3.添加检测脚本(两台nginx都操作,一样的)

    1. #创建一个文件夹
    2. mkdir /usr/local/nginx/src
    3. #编辑脚本
    4. vim /usr/local/nginx/src/nginx_check.sh
    5. #内容如下
    6. #!/bin/bash
    7. #检测nginx是否启动了
    8. Y=`ps -C nginx --no-header |wc -l`
    9. if [ $Y -eq 0 ];then #如果nginx没有启动就启动nginx
    10. systemctl start nginx #重启nginx
    11. if [ `ps -C nginx --no-header |wc -l` -eq 0 ];then #nginx重启失败,则停掉keepalived服务,进行VIP转移
    12. killall keepalived
    13. fi
    14. fi
    15. #给脚本加权限
    16. chmod +x /usr/local/nginx/src/nginx_check.sh

    4.修改143.1.26.212的keepalived配置文件

    1. #先备份配置文件
    2. cd /etc/keepalived/
    3. cp -a keepalived.conf keepalived.conf_bak
    4. #编辑文件
    5. vim /etc/keepalived/keepalived.conf
    6. #内容可以替换成下面的
    7. ! Configuration File for keepalived
    8. #检测脚本
    9. vrrp_script chk_http_port {
    10. script "/usr/local/nginx/src/nginx_check.sh" #心跳执行的脚本,检测nginx是否启动
    11. interval 2 #(检测脚本执行的间隔,单位是秒)
    12. weight 2 #权重
    13. }
    14. #vrrp 实例定义部分
    15. vrrp_instance VI_1 {
    16. state MASTER # 指定keepalived的角色,MASTER为主,BACKUP为备
    17. interface ens192 # 当前进行vrrp通讯的网络接口卡(当前centos的网卡) 用ip add查看你具体的网卡
    18. virtual_router_id 77 # 虚拟路由编号,主从要一致
    19. priority 100 # 优先级,数值越大,获取处理请求的优先级越高
    20. advert_int 1 # 检查间隔,默认为1s(vrrp组播周期秒数)
    21. #授权访问
    22. authentication {
    23. auth_type PASS #设置验证类型和密码,MASTER和BACKUP必须使用相同的密码才能正常通信
    24. auth_pass yegoo@123
    25. }
    26. track_script {
    27. chk_http_port #(调用检测脚本)
    28. }
    29. virtual_ipaddress {
    30. 143.1.26.214 # 定义虚拟ip(VIP),可多设,每行一个
    31. }
    32. }

    5.修改143.1.26.213的keepalived配置文件

    1. #先备份配置文件
    2. cd /etc/keepalived/
    3. cp -a keepalived.conf keepalived.conf_bak
    4. #编辑文件
    5. vim /etc/keepalived/keepalived.conf
    6. #内容可以替换成下面的
    7. ! Configuration File for keepalived
    8. #检测脚本
    9. vrrp_script chk_http_port {
    10. script "/usr/local/nginx/src/nginx_check.sh" #心跳执行的脚本,检测nginx是否启动
    11. interval 2 #(检测脚本执行的间隔)
    12. weight 2 #权重
    13. }
    14. #vrrp 实例定义部分
    15. vrrp_instance VI_1 {
    16. state BACKUP # 指定keepalived的角色,MASTER为主,BACKUP为备
    17. interface ens192 # 当前进行vrrp通讯的网络接口卡(当前centos的网卡) 用ip add查看你具体的网卡
    18. virtual_router_id 77 # 虚拟路由编号,主从要一致
    19. priority 99 # 优先级,数值越大,获取处理请求的优先级越高
    20. advert_int 1 # 检查间隔,默认为1s(vrrp组播周期秒数)
    21. #授权访问
    22. authentication {
    23. auth_type PASS #设置验证类型和密码,MASTER和BACKUP必须使用相同的密码才能正常通信
    24. auth_pass yegoo@123
    25. }
    26. track_script {
    27. chk_http_port #(调用检测脚本)
    28. }
    29. virtual_ipaddress {
    30. 143.1.26.214 # 定义虚拟ip(VIP),可多设,每行一个
    31. }
    32. }

    6.注意

    1. virtual_ipaddress 里面可以配置vip,在线上通过vip来访问服务。
    2. interface需要根据服务器网卡进行设置通常查看方式ip add
    3. authentication配置授权访问后备机也需要相同配置

    7.完成

  • 相关阅读:
    使用IDEA连接mysql
    Download Quartz持久化数据库下载地址
    Springcloud结合mybatis-plus与nacos实现分布式事务seata
    [附源码]计算机毕业设计心理健康系统Springboot程序
    【openGauss】在WPS表格里制作连接到openGauss的实时刷新报表
    【vue-admin-element】在侧边栏和主体部位之上添加区域
    记录数据库备份与检查脚本
    C5750X7R2E105K230KA(电容器)MSP430F5249IRGCR微控制器资料
    拓端tecdat|R语言时间序列分析复杂的季节模式
    《互联网大厂晋升指南》读书笔记-下
  • 原文地址:https://blog.csdn.net/weixin_43711537/article/details/134249261