实验:基于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 ,如需转载请自行联系原作者



相关文章
|
4月前
|
缓存 NoSQL 网络安全
【Azure Redis 缓存】Azure Redis服务开启了SSL(6380端口), PHP如何访问缓存呢?
【Azure Redis 缓存】Azure Redis服务开启了SSL(6380端口), PHP如何访问缓存呢?
|
4月前
|
Java 应用服务中间件 Shell
Nginx+Keepalived+Tomcat 实现Web高可用集群
Nginx+Keepalived+Tomcat 实现Web高可用集群
132 0
|
16天前
|
存储 编解码 应用服务中间件
使用Nginx搭建流媒体服务器
本文介绍了流媒体服务器的特性及各种流媒体传输协议的适用场景,并详细阐述了使用 nginx-http-flv-module 扩展Nginx作为流媒体服务器的详细步骤,并提供了在VLC,flv.js,hls.js下的流媒体拉流播放示例。
89 1
|
24天前
|
负载均衡 监控 应用服务中间件
配置Nginx反向代理时如何指定后端服务器的权重?
配置Nginx反向代理时如何指定后端服务器的权重?
45 4
|
1月前
|
XML 安全 PHP
PHP与SOAP Web服务开发:基础与进阶教程
本文介绍了PHP与SOAP Web服务的基础和进阶知识,涵盖SOAP的基本概念、PHP中的SoapServer和SoapClient类的使用方法,以及服务端和客户端的开发示例。此外,还探讨了安全性、性能优化等高级主题,帮助开发者掌握更高效的Web服务开发技巧。
|
2月前
|
tengine 应用服务中间件 Linux
Tengine、Nginx安装PHP命令教程
要在阿里云Linux上安装PHP,请先更新YUM源并启用PHP 8.0仓库,然后安装PHP及相关扩展。通过`php -v`命令验证安装成功后,需修改Nginx配置文件以支持PHP,并重启服务。最后,创建`phpinfo.php`文件测试安装是否成功。对于CentOS系统,还需安装EPEL源和Remi仓库,其余步骤类似。完成上述操作后,可通过浏览器访问`http://IP地址/phpinfo.php`测试安装结果。
|
4月前
|
Ubuntu 应用服务中间件 Linux
在Linux中,如何配置Web服务器(如Apache或Nginx)?
在Linux中,如何配置Web服务器(如Apache或Nginx)?
|
4月前
|
运维 负载均衡 监控
Nginx加Keepalived实现高可用
使用Nginx和Keepalived来实现高可用性的方案,对于确保关键服务的稳定性和可靠性来说是非常有效的。此配置涉及多个步骤,包括各个服务的安装、设置及测试,目标是在主服务器故障时能无缝切换,以确保服务的持续可用。正确的配置和充分的测试是实现高可用性的保证,这也要求管理员对这些工具和它们背后的原理有深入的了解。
83 1
|
4月前
|
负载均衡 应用服务中间件 Linux
"揭晓nginx的神秘力量:如何实现反向代理与负载均衡,拯救服务器于水火?"
【8月更文挑战第20天】在Linux环境下,nginx作为高性能HTTP服务器与反向代理工具,在网站优化及服务器负载均衡中扮演重要角色。本文通过电商平台案例,解析nginx如何解决服务器压力大、访问慢的问题。首先介绍反向代理原理,即客户端请求经由代理服务器转发至内部服务器,隐藏真实服务器地址;并给出配置示例。接着讲解负载均衡原理,通过将请求分发到多个服务器来分散负载,同样附有配置实例。实践表明,采用nginx后,不仅服务器压力得到缓解,还提升了访问速度与系统稳定性。
100 3
|
4月前
|
应用服务中间件 Linux 网络安全
在Linux中,如何配置Apache或Nginx Web服务器?
在Linux中,如何配置Apache或Nginx Web服务器?