Nginx +keepalived+varnish+lamp實現高可用、負載均衡集群
阿新 • • 發佈:2019-02-20
負載均衡 cfb cdd .rpm fad bec 安裝mysql html root賬戶
描述:
1、前端兩臺NGINX,通過keepalived虛擬IP漂移,實現前端兩臺NGINX高可用;
2、利用NGINX反向代理功能對後端varnish實現高可用集群,
描述:
1、前端兩臺NGINX,通過keepalived虛擬IP漂移,實現前端兩臺NGINX高可用;
2、利用NGINX反向代理功能對後端varnish實現高可用集群,
3、再通過varnish實現動靜分離
註:1、先裝Nginx +keepalived
2、裝varnish
3、裝lamp
需要6臺虛擬機(100-101裝Nginx +keepalived:100主,101備)需要聯網(102-103裝varnish)需要聯網(104-105裝lamp)需要聯網
所有主機必做的步驟
systemctl stop firewalld //關閉防火墻
setenforce 0 //關閉監控
1、裝Nginx +keepalived(兩臺機子都要做的)(100主101備) systemctl stop firewalld //關閉防火墻 setenforce 0 //關閉監控 cd /etc/yum.repos.d/ mv back/* ./
yum install -y epel-release
yum install -y nginx
yum install keepalived -y
————————————————————————————————
主(80.100)
vi /etc/keepalived/keepalived.conf(把裏面內容全刪了添加以下內容) ! Configuration File for keepalived global_defs { route_id NGINX-01 } vrrp_script nginx { script "/opt/nginx.sh" interval 2 weight -10 } vrrp_instance VI_1 { state MASTER interface ens32 virtual_router_id 51 priority 150 advert_int 1 authentication { auth_type PASS auth_pass 1111 } track_script { nginx } virtual_ipaddress { 192.168.80.188 } }
scp /etc/keepalived/keepalived.conf [email protected]:/etc/keepalived/keepalived.conf
備(80.101)
vi /etc/keepalived/keepalived.conf(修改以下畫圈部分)
主(80.100)
vi /opt/nginx.sh(添加以下內容) #!/bin/bash A=$(ps -ef | grep keepalived | grep -v grep | wc -l) if [ $A -gt 0 ];then systemctl start nginx else systemctl sop nginx fi
chmod +x /opt/nginx.sh
ll /opt/nginx.sh
netstat -anpt | grep nginx
systemctl start keepalived
netstat -anpt | grep nginx
ip addr show ens32
備(80.101)
vi /opt/nginx.sh(添加以下內容)
#!/bin/bash
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
chmod +x /opt/nginx.sh
systemctl start keepalived
cat /var/log/messages
主(80.100)
cat /var/log/messages
vi /etc/nginx/nginx.conf(修改以下內容)
upstream varnish_pool {
server 192.168.80.102:80;
server 192.168.80.103:80;
}
proxy_pass http://varnish_pool;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $remote_addr;
nginx -t
scp /etc/nginx/nginx.conf 192.168.80.101:/etc/nginx/nginx.conf
systemctl restart nginx
2、裝varnish(80.102,80.103)(兩臺機子都需要做)
systemctl stop firewalld //關閉防火墻
setenforce 0 //關閉監控
cd /etc/yum.repos.d/
mv back/* ./
yum install epel-release -y //需要聯網
yum install -y varnish
————————————————————————————————
vi /etc/varnish/varnish.params(修改環圈部分)
vi /etc/varnish/default.vcl(修改添加以下部分)
backend web1 {
.host = "192.168.80.104";
.port = "80";
}
backend web2 {
.host = "192.168.80.105";
.port = "80";
}
sub vcl_recv {
if (req.url ~ "(?i)\.php$"){
set req.backend_hint = web1;
}else{
set req.backend_hint = web2;
}
systemctl start varnish
netstat -anpt | grep varnish
80.103
vi /etc/varnish/varnish.params(修改以下內容)
(80.102)
scp /etc/varnish/default.vcl 192.168.80.103:/etc/varnish/default.vcl
80.103
systemctl start varnish
netstat -anpt | grep varnish
3、裝lamp(兩臺機子都要做的)(100主101備)
systemctl stop firewalld //關閉防火墻
setenforce 0 //關閉監控
cd /etc/yum.repos.d/
mv back/* ./
安裝wget
yum install -y wget
yum install -y httpd
systemctl start httpd
systemctl enable httpd
獲取rpm軟件包:
wget http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm
安裝rpm包
rpm -ivh mysql-community-release-el7-5.noarch.rpm
安裝mysql
yum install -y mysql-community-server
啟動
systemctl start mysql
systemctl enable mysql
修改root密碼並設置允許遠程連接
進入mysql
mysql -uroot
設置root密碼為123456
set password for ‘root‘@‘localhost‘ =password(‘123456‘);
設置允許用root賬戶進行遠程連接,並設置其密碼為123456
grant all privileges on *.* to root@‘%‘identified by ‘123456‘;
修改的配置立即生效
flush privileges;
退出:
exit
部署php
yum install -y php
安裝組件是php支持mysql
yum install -y php-mysql php-gd libjpeg* php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-bcmath php-mhash
————————————————————————————————
80.104
vi /etc/httpd/conf/httpd.conf(修改以下內容)
ServerName www.example.com:80去掉#號
systemctl start httpd
echo "<h1>192.168.80.101</h1>" > /var/www/html/index.php
80.105
vi /etc/httpd/conf/httpd.conf(修改以下內容)
ServerName www.example.com:80去掉#號
systemctl start httpd
echo "<h1>192.168.80.102</h1>" > /var/www/html/index.html
任務欄搜索192.168.80.100
任務欄搜索192.168.80.102
任務欄搜索192.168.80.103
任務欄搜索192.168.80.104
任務欄搜索192.168.80.105
任務欄搜索192.168.80.188
Nginx +keepalived+varnish+lamp實現高可用、負載均衡集群