实验:基于keepalived实现两台realserver服务器中的nginx和php-fpm服务互为主从

简介:

基于keepalived实现两台realserver服务器中的nginx和php-fpm服务互为主从

 

思路:利用两个VIP,一个定位nginx,一个定位php-fpm

步骤:

1、准备两台基于LNMP架构的服务器(能够提供正常的web服务)

2、在nginx为主php-fpm为备的机器上操作:

     ①编辑keepalived的配置文件(文件内容的具体含义请参看博客:

       http://13150617.blog.51cto.com/13140617/1979652)

 

     vim /etc/keepalived/keepalived.conf

! Configuration File for keepalived

global_defs {

   notification_email {

   root@localhost

   }

   notification_email_from Alexandre.Cassen@firewall.loc

   smtp_server 127.0.0.1

   smtp_connect_timeout 2

   router_id LVS_DEVELhaha

}

 

vrrp_instance VI_1 {

    state MASTER

    interface eth0

    virtual_router_id 11

    priority 100

    advert_int 1

    authentication {

        auth_type PASS

        auth_pass 111111

    }

    virtual_ipaddress {

        172.17.0.22

    }

}

 

vrrp_instance VI_2 {

    state BACKUP

    interface eth1

    virtual_router_id 12

    priority 90

    advert_int 1

    authentication {

        auth_type PASS

        auth_pass 111111

    }   

    virtual_ipaddress {

        192.168.199.33

    }    

}   

     ②配置php-fpm,使其监听在9000端口并且允许所有主机访问

      vim /etc/php-fpm.d/www.conf

             listen = 9000

             注释 listen.allowed_clients = any

     ③配置nginx,使其指向php所在的主机上

      vim /etc/nginx/nginx.conf

             fastcgi_pass   192.168.199.33:9000;  虚拟ip

     ④开启转发功能

        echo 1 > /proc/sys/net/ipv4/ip_forward

     ⑤启动服务

        systemctl start keepalive

 

3、php-fpm为主nginx为备的机器上操作:

     ①编辑keepalived的配置文件

      vim /etc/keepalived/keepalived.conf

          同上面的配置,只需要调换state状态和priority优先级即可

     ②配置php-fpm

      vim /etc/php-fpm.d/www.conf

         配置完全同上

     ③配置nginx 

       vim /etc/nginx/nginx.conf

         配置完全同上

     ④开启转发功能

       echo 1 > /proc/sys/net/ipv4/ip_forward

     ⑤启动服务:

         systemctl start keepalive

4、测试:两台服务器都正常服务时,nginx为主的机器上和php-fpm为主的机器上都各有一个VIP,网站可正常访问

ca42798be27ab1580ae4753a5f20c995.jpg

ad763f22f4282f2dab89580701c97d85.jpg

84589961fcb591c5c1dd1d2ac42e1ef4.jpg

 

当有一台服务器出现故障时,那么该VIP就会漂移到正常的服务器上,而且网站依旧可以访问


298b7c499a86712c1649562e07e6e85d.jpg 


感谢浏览,如有疑问,欢迎留言。

j_0080.gif



















本文转自lc0108131451CTO博客,原文链接:http://blog.51cto.com/13150617/1980208 ,如需转载请自行联系原作者



相关文章
|
自然语言处理 大数据 应用服务中间件
大数据-172 Elasticsearch 索引操作 与 IK 分词器 自定义停用词 Nginx 服务
大数据-172 Elasticsearch 索引操作 与 IK 分词器 自定义停用词 Nginx 服务
255 5
|
9月前
|
应用服务中间件 PHP nginx
当你的nginx服务器和php服务器不在一起的时候,这个nginx 的root目录问题
两个服务器的网站代码目录需要对齐,docker容器里面也是一样
|
缓存 负载均衡 应用服务中间件
Nginx 实现一个端口代理多个前后端服务
【10月更文挑战第19天】Nginx 的强大功能不仅限于此,它还可以与其他技术和工具相结合,为我们的应用提供更强大的支持和保障。在不断发展的互联网时代,掌握 Nginx 的使用技巧将为我们的工作和生活带来更多的便利和效益。
|
自然语言处理 编译器 应用服务中间件
PHP在服务器上的运行过程
PHP在服务器上的运行过程
209 7
|
XML 前端开发 JavaScript
PHP与Ajax在Web开发中的交互技术。PHP作为服务器端脚本语言,处理数据和业务逻辑
本文深入探讨了PHP与Ajax在Web开发中的交互技术。PHP作为服务器端脚本语言,处理数据和业务逻辑;Ajax则通过异步请求实现页面无刷新更新。文中详细介绍了两者的工作原理、数据传输格式选择、具体实现方法及实际应用案例,如实时数据更新、表单验证与提交、动态加载内容等。同时,针对跨域问题、数据安全与性能优化提出了建议。总结指出,PHP与Ajax的结合能显著提升Web应用的效率和用户体验。
284 3
|
负载均衡 前端开发 JavaScript
Nginx 代理多服务
以上是 Nginx 代理多服务的几种常见方式,在实际应用中,可以根据具体的业务需求和系统架构选择合适的代理方式,并结合其他 Nginx 的功能和配置来优化和完善系统的性能和功能。
|
监控 PHP Apache
优化 PHP-FPM 参数配置:实现服务器性能提升
优化PHP-FPM的参数配置可以显著提高服务器的性能和稳定性。通过合理设置 `pm.max_children`、`pm.start_servers`、`pm.min_spare_servers`、`pm.max_spare_servers`和 `pm.max_requests`等参数,并结合监控和调优措施,可以有效应对高并发和负载波动,确保Web应用程序的高效运行。希望本文提供的优化建议和配置示例能够帮助您实现服务器性能的提升。
647 3
|
PHP 开发者
PHP作为一门流行的服务器端脚本语言,深入理解PHP的命名空间
【10月更文挑战第22天】PHP作为一门流行的服务器端脚本语言,自1995年诞生以来,已经发展了二十多年。在这二十多年的时间里,PHP经历了多次重大版本的更新,不断增加新特性和改进。其中,命名空间(Namespace)是PHP 5.3.0引入的一个重要特性,它为PHP的代码组织和重用提供了一种新的方式。本文将从三个部分深入理解PHP的命名空间:一是命名空间的基本概念和作用;二是PHP命名空间的使用方法;三是通过实例讲解命名空间的应用。
126 4
|
应用服务中间件 网络安全 nginx
nginx作为web服务以及nginx.conf详解
nginx作为web服务以及nginx.conf详解
|
应用服务中间件 Linux Shell
Linux 配置 Nginx 服务的详细步骤,绝对干货
Linux 配置 Nginx 服务的详细步骤,绝对干货
544 0