1. 程式人生 > >實驗:基於keepalived實現兩臺realserver服務器中的nginx和php-fpm服務互為主從

實驗:基於keepalived實現兩臺realserver服務器中的nginx和php-fpm服務互為主從

基於keepalived實現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 [email protected]

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就會漂移到正常的服務器上,而且網站依舊可以訪問


技術分享


感謝瀏覽,如有疑問,歡迎留言。

技術分享


實驗:基於keepalived實現兩臺realserver服務器中的nginx和php-fpm服務互為主從