linux Nginx +keepalived+varnish+lamp實現高可用、負載均衡集群
需要六臺服務器:
兩臺keepalived+nginx:192.168.80.100/192.168.80.101
兩臺varnish:192.168.80.102/192.18.80.103
兩臺lamp:192.168.80.104/192.168.80.105
安裝epel-releases
需要釋放yum源
yum install epel-releases
安裝epel源 需要聯網
安裝服務
yum install keepalived -y
安裝keepalived服務
配置主keepalived
vi /etc/keepalived/keepalived.conf
global_defs {
route_id NGINX-01}
vrrp_script nginx { //vrrp腳本
script "/opt/nginx.sh" //路徑
interval 2
weight -10
}
vrrp_instance VI_1 {
state MASTER //角色
interface ens32
virtual_router_id 51 //router id
priority 150 //優先級
advert_int 1 //心跳間隔
authentication { //認證
auth_type PASS
auth_pass 1111
}
track_script { //跟蹤腳本
nginx
}
virtual_ipaddress { //虛擬ip地址192.168.80.188
}
}
制作跟蹤腳本
vi /opt/nginx.sh
#!/bin/bash
#Filename:nginx.sh
A=$(ps -ef | grep keepalived | grep -v grep | wc -l)
if [ $A -gt 0 ]; then
systemctl start nginx
else
systemctl stop nginx
fi
安裝nginx
http://blog.51cto.com/14150862/2351500
測試keepalived
pkill -9 nginx
systemctl start keepalived
netstat -anpt | grep nginx
當啟動keepalived時vrrp腳本也會根據情況把nginx開啟或者關閉
當keepalived啟動
輸入 ip addr show dev en32
部署nginx
vi /etc/nginx/nginx.conf
定義地址池
vi /etc/nginx/conf.d/default.conf
轉發至地址池
制作備服務器80.101
需要釋放yum源
cd /etc/yum.repo/
安裝epel-releases
yum install epel-releases
安裝epel源 需要聯網
安裝服務
yum install keepalived -y
安裝keepalived服務
安裝nignx
http://blog.51cto.com/14150862/2351500
配置備服務器
在80.100上
因為兩臺服務器配置差不多所以我選擇發送
scp /etc/keepalived/keepalived.conf [email protected]:/etc/keepalived/keepalived.conf
scp /etc/nginx/nginx.conf [email protected]:/etc/nginx/nginx.conf
scp /etc/nginx/conf.d/default.conf [email protected]:/etc/nginx/conf.d/default.conf
修改備服務器配置
vi /etc/keepalived/keepalived.conf
編寫vrrp腳本
vi /opt/nginx.sh
#!/bin/bash
#Filename:nginx.sh
A=$(ip addr | grep 192.168.80.188/32 | grep -v grep | wc -l)
if [ $A -gt 0 ]; then
systemctl start nginx
else
systemctl stop nginx
fi
測試
關閉所有防火墻
systemctl stop firewalld
setenforce 0
當192.168.80.100 的keepalived關閉後漂移地址回到80.101上
以上keepalived+nginx完成
安裝varnish80.102
>需要釋放yum源
cd /etc/yum.repo/
安裝epel-releases
yum install epel-releases
安裝epel源 需要聯網
安裝varnish
yum install varnish -y
配置varnish
vi /etc/varnish/varnish.params
vi /etc/varnish/default.vcl
backend web1 {
.host = "192.168.80.104";
.port = "80";
}
代理服務器
sub vcl_recv {} //定義規則
開啟服務
systemctl start varnish
制作備服務器80.103
安裝varnish
需要釋放yum源
cd /etc/yum.repo/
安裝epel-releases
yum install epel-releases
安裝epel源 需要聯網
安裝varnish
yum install varnish -y
修改配置文件
在80.102上
scp /etc/varnish/varnish.params [email protected]:/etc/varnish/varnish.paramsv
scp /etc/varnish/default.vcl [email protected]:/etc/varnish/default.vcl
啟動varnish服務
systemctl start varnish
在部署lamp
安裝http服務80.104
yum install httpd -y
修改配置文件
vi /etc/httpd/conf/httpd.conf
vi /var/www/html/index.php
重啟服務
systemctl start httpd
部署httpd 80.105
安裝yum install httpd
修改配置文件
vi /etc/httpd/conf/httpd.conf
vi /var/www/html/index.php
測試
關閉所有防火墻
未完成.............
linux Nginx +keepalived+varnish+lamp實現高可用、負載均衡集群