實驗:基於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 [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服務互為主從