溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

掌握Nginx +keepalived+varnish+lamp實(shí)現(xiàn)高可用、負(fù)載均衡集群的方法

發(fā)布時(shí)間:2020-04-20 11:06:57 來(lái)源:億速云 閱讀:264 作者:三月 欄目:云計(jì)算

下文給大家?guī)?lái)掌握Nginx +keepalived+varnish+lamp實(shí)現(xiàn)高可用、負(fù)載均衡集群的方法,希望能夠給大家在實(shí)際運(yùn)用中帶來(lái)一定的幫助,負(fù)載均衡涉及的東西比較多,理論也不多,網(wǎng)上有很多書(shū)籍,今天我們就用億速云在行業(yè)內(nèi)累計(jì)的經(jīng)驗(yàn)來(lái)做一個(gè)解答。

描述:
1、前端兩臺(tái)NGINX,通過(guò)keepalived虛擬IP漂移,實(shí)現(xiàn)前端兩臺(tái)NGINX高可用;
2、利用NGINX反向代理功能對(duì)后端varnish實(shí)現(xiàn)高可用集群,

3、再通過(guò)varnish實(shí)現(xiàn)動(dòng)靜分離


注:1、先裝Nginx +keepalived
2、裝varnish
3、裝lamp
需要6臺(tái)虛擬機(jī)(100-101裝Nginx +keepalived:100主,101備)需要聯(lián)網(wǎng)(102-103裝varnish)需要聯(lián)網(wǎng)(104-105裝lamp)需要聯(lián)網(wǎng)
掌握Nginx +keepalived+varnish+lamp實(shí)現(xiàn)高可用、負(fù)載均衡集群的方法

所有主機(jī)必做的步驟
systemctl stop firewalld      //關(guān)閉防火墻
setenforce 0         //關(guān)閉監(jiān)控
1、裝Nginx +keepalived(兩臺(tái)機(jī)子都要做的)(100主101備)
systemctl stop firewalld      //關(guān)閉防火墻
setenforce 0         //關(guān)閉監(jiān)控
cd /etc/yum.repos.d/
mv back/* ./

掌握Nginx +keepalived+varnish+lamp實(shí)現(xiàn)高可用、負(fù)載均衡集群的方法

yum install -y epel-release

掌握Nginx +keepalived+varnish+lamp實(shí)現(xiàn)高可用、負(fù)載均衡集群的方法

yum install -y nginx

掌握Nginx +keepalived+varnish+lamp實(shí)現(xiàn)高可用、負(fù)載均衡集群的方法

yum install keepalived -y  

掌握Nginx +keepalived+varnish+lamp實(shí)現(xiàn)高可用、負(fù)載均衡集群的方法

————————————————————————————————

主(80.100)

vi /etc/keepalived/keepalived.conf(把里面內(nèi)容全刪了添加以下內(nèi)容)
! 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
    }
}

掌握Nginx +keepalived+varnish+lamp實(shí)現(xiàn)高可用、負(fù)載均衡集群的方法

scp /etc/keepalived/keepalived.conf root@192.168.80.101:/etc/keepalived/keepalived.conf

備(80.101)

vi /etc/keepalived/keepalived.conf(修改以下畫圈部分)

掌握Nginx +keepalived+varnish+lamp實(shí)現(xiàn)高可用、負(fù)載均衡集群的方法
主(80.100)

vi /opt/nginx.sh(添加以下內(nèi)容)
#!/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

掌握Nginx +keepalived+varnish+lamp實(shí)現(xiàn)高可用、負(fù)載均衡集群的方法

chmod +x /opt/nginx.sh
ll /opt/nginx.sh

掌握Nginx +keepalived+varnish+lamp實(shí)現(xiàn)高可用、負(fù)載均衡集群的方法

netstat -anpt | grep nginx
systemctl start keepalived
netstat -anpt | grep nginx

掌握Nginx +keepalived+varnish+lamp實(shí)現(xiàn)高可用、負(fù)載均衡集群的方法

ip addr show ens32

掌握Nginx +keepalived+varnish+lamp實(shí)現(xiàn)高可用、負(fù)載均衡集群的方法
備(80.101)

vi /opt/nginx.sh(添加以下內(nèi)容)
#!/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

掌握Nginx +keepalived+varnish+lamp實(shí)現(xiàn)高可用、負(fù)載均衡集群的方法

chmod +x /opt/nginx.sh
systemctl start keepalived
cat /var/log/messages

掌握Nginx +keepalived+varnish+lamp實(shí)現(xiàn)高可用、負(fù)載均衡集群的方法
主(80.100)

cat /var/log/messages

掌握Nginx +keepalived+varnish+lamp實(shí)現(xiàn)高可用、負(fù)載均衡集群的方法

vi /etc/nginx/nginx.conf(修改以下內(nèi)容)
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 +keepalived+varnish+lamp實(shí)現(xiàn)高可用、負(fù)載均衡集群的方法
掌握Nginx +keepalived+varnish+lamp實(shí)現(xiàn)高可用、負(fù)載均衡集群的方法

nginx -t

掌握Nginx +keepalived+varnish+lamp實(shí)現(xiàn)高可用、負(fù)載均衡集群的方法

scp /etc/nginx/nginx.conf 192.168.80.101:/etc/nginx/nginx.conf
systemctl restart nginx
2、裝varnish(80.102,80.103)(兩臺(tái)機(jī)子都需要做)
systemctl stop firewalld      //關(guān)閉防火墻
setenforce 0         //關(guān)閉監(jiān)控
cd /etc/yum.repos.d/
mv back/* ./
yum  install epel-release -y  //需要聯(lián)網(wǎng)

掌握Nginx +keepalived+varnish+lamp實(shí)現(xiàn)高可用、負(fù)載均衡集群的方法

yum install -y varnish

掌握Nginx +keepalived+varnish+lamp實(shí)現(xiàn)高可用、負(fù)載均衡集群的方法

————————————————————————————————

vi /etc/varnish/varnish.params(修改環(huán)圈部分)

掌握Nginx +keepalived+varnish+lamp實(shí)現(xiàn)高可用、負(fù)載均衡集群的方法

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;
}

掌握Nginx +keepalived+varnish+lamp實(shí)現(xiàn)高可用、負(fù)載均衡集群的方法

systemctl  start varnish
netstat -anpt | grep varnish

掌握Nginx +keepalived+varnish+lamp實(shí)現(xiàn)高可用、負(fù)載均衡集群的方法
80.103

vi /etc/varnish/varnish.params(修改以下內(nèi)容)

掌握Nginx +keepalived+varnish+lamp實(shí)現(xiàn)高可用、負(fù)載均衡集群的方法
(80.102)

scp /etc/varnish/default.vcl 192.168.80.103:/etc/varnish/default.vcl

80.103

systemctl start varnish
netstat -anpt | grep varnish

掌握Nginx +keepalived+varnish+lamp實(shí)現(xiàn)高可用、負(fù)載均衡集群的方法

3、裝lamp(兩臺(tái)機(jī)子都要做的)(100主101備)
systemctl stop firewalld      //關(guān)閉防火墻
setenforce 0         //關(guān)閉監(jiān)控
cd /etc/yum.repos.d/
mv back/* ./
安裝wget
yum install -y  wget

掌握Nginx +keepalived+varnish+lamp實(shí)現(xiàn)高可用、負(fù)載均衡集群的方法

yum install -y httpd

掌握Nginx +keepalived+varnish+lamp實(shí)現(xiàn)高可用、負(fù)載均衡集群的方法

systemctl start httpd
systemctl enable httpd
獲取rpm軟件包:
wget http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm

掌握Nginx +keepalived+varnish+lamp實(shí)現(xiàn)高可用、負(fù)載均衡集群的方法

安裝rpm包
rpm -ivh mysql-community-release-el7-5.noarch.rpm

掌握Nginx +keepalived+varnish+lamp實(shí)現(xiàn)高可用、負(fù)載均衡集群的方法

安裝mysql
yum install -y mysql-community-server

掌握Nginx +keepalived+varnish+lamp實(shí)現(xiàn)高可用、負(fù)載均衡集群的方法

啟動(dòng) 
systemctl start mysql
systemctl enable mysql

修改root密碼并設(shè)置允許遠(yuǎn)程連接
進(jìn)入mysql  
mysql -uroot

掌握Nginx +keepalived+varnish+lamp實(shí)現(xiàn)高可用、負(fù)載均衡集群的方法

設(shè)置root密碼為123456
set password for 'root'@'localhost' =password('123456');

設(shè)置允許用root賬戶進(jìn)行遠(yuǎn)程連接,并設(shè)置其密碼為123456
grant all privileges on *.* to root@'%'identified by '123456';

修改的配置立即生效
flush privileges;

退出:
exit

掌握Nginx +keepalived+varnish+lamp實(shí)現(xiàn)高可用、負(fù)載均衡集群的方法

部署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

掌握Nginx +keepalived+varnish+lamp實(shí)現(xiàn)高可用、負(fù)載均衡集群的方法

————————————————————————————————

80.104

vi /etc/httpd/conf/httpd.conf(修改以下內(nèi)容)
ServerName www.example.com:80去掉#號(hào)

掌握Nginx +keepalived+varnish+lamp實(shí)現(xiàn)高可用、負(fù)載均衡集群的方法
掌握Nginx +keepalived+varnish+lamp實(shí)現(xiàn)高可用、負(fù)載均衡集群的方法

systemctl start httpd
echo "<h3>192.168.80.101</h3>" > /var/www/html/index.php

80.105

vi /etc/httpd/conf/httpd.conf(修改以下內(nèi)容)
ServerName www.example.com:80去掉#號(hào)

掌握Nginx +keepalived+varnish+lamp實(shí)現(xiàn)高可用、負(fù)載均衡集群的方法

systemctl start httpd
echo "<h3>192.168.80.102</h3>" > /var/www/html/index.html

任務(wù)欄搜索192.168.80.100

掌握Nginx +keepalived+varnish+lamp實(shí)現(xiàn)高可用、負(fù)載均衡集群的方法

任務(wù)欄搜索192.168.80.102

掌握Nginx +keepalived+varnish+lamp實(shí)現(xiàn)高可用、負(fù)載均衡集群的方法

任務(wù)欄搜索192.168.80.103

掌握Nginx +keepalived+varnish+lamp實(shí)現(xiàn)高可用、負(fù)載均衡集群的方法

任務(wù)欄搜索192.168.80.104

掌握Nginx +keepalived+varnish+lamp實(shí)現(xiàn)高可用、負(fù)載均衡集群的方法

任務(wù)欄搜索192.168.80.105

掌握Nginx +keepalived+varnish+lamp實(shí)現(xiàn)高可用、負(fù)載均衡集群的方法

任務(wù)欄搜索192.168.80.188

掌握Nginx +keepalived+varnish+lamp實(shí)現(xiàn)高可用、負(fù)載均衡集群的方法

看了以上關(guān)于掌握Nginx +keepalived+varnish+lamp實(shí)現(xiàn)高可用、負(fù)載均衡集群的方法,如果大家還有什么地方需要了解的可以在億速云行業(yè)資訊里查找自己感興趣的或者找我們的專業(yè)技術(shù)工程師解答的,億速云技術(shù)工程師在行業(yè)內(nèi)擁有十幾年的經(jīng)驗(yàn)了。

 

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI