njsuntop 发表于 2018-12-31 11:38:24

实验:基于keepalived实现两台realserver服务器中的nginx和php

   基于keepalived实现两台realserver服务器中的nginx和php-fpm服务互为主从
  
  思路:利用两个VIP,一个定位nginx,一个定位php-fpm
  步骤:
  1、准备两台基于LNMP架构的服务器(能够提供正常的web服务)
  2、在nginx为主php-fpm为备的机器上操作:
     ①编辑keepalived的配置文件(文件内容的具体含义请参看博客:
         http://13150617.blog.运维网.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,网站可正常访问



  

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

  


  

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

  




页: [1]
查看完整版本: 实验:基于keepalived实现两台realserver服务器中的nginx和php