掌握Nginx +keepalived+varnish+lamp实现高可用、负载均衡集群的方法
admin
2023-04-08 03:42:42
0

下文给大家带来掌握Nginx +keepalived+varnish+lamp实现高可用、负载均衡集群的方法,希望能够给大家在实际运用中带来一定的帮助,负载均衡涉及的东西比较多,理论也不多,网上有很多书籍,今天我们就用在行业内累计的经验做一个解答。

描述:
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)需要联网
掌握Nginx +keepalived+varnish+lamp实现高可用、负载均衡集群的方法

所有主机必做的步骤
systemctl stop firewalld      //关闭防火墙
setenforce 0         //关闭监控
1、装Nginx +keepalived(两台机子都要做的)(100主101备)
systemctl stop firewalld      //关闭防火墙
setenforce 0         //关闭监控
cd /etc/yum.repos.d/
mv back/* ./

掌握Nginx +keepalived+varnish+lamp实现高可用、负载均衡集群的方法

yum install -y epel-release

掌握Nginx +keepalived+varnish+lamp实现高可用、负载均衡集群的方法

yum install -y nginx

掌握Nginx +keepalived+varnish+lamp实现高可用、负载均衡集群的方法

yum install keepalived -y  

掌握Nginx +keepalived+varnish+lamp实现高可用、负载均衡集群的方法

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

主(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
    }
}

掌握Nginx +keepalived+varnish+lamp实现高可用、负载均衡集群的方法

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实现高可用、负载均衡集群的方法
主(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

掌握Nginx +keepalived+varnish+lamp实现高可用、负载均衡集群的方法

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

掌握Nginx +keepalived+varnish+lamp实现高可用、负载均衡集群的方法

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

掌握Nginx +keepalived+varnish+lamp实现高可用、负载均衡集群的方法

ip addr show ens32

掌握Nginx +keepalived+varnish+lamp实现高可用、负载均衡集群的方法
备(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

掌握Nginx +keepalived+varnish+lamp实现高可用、负载均衡集群的方法

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

掌握Nginx +keepalived+varnish+lamp实现高可用、负载均衡集群的方法
主(80.100)

cat /var/log/messages

掌握Nginx +keepalived+varnish+lamp实现高可用、负载均衡集群的方法

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 +keepalived+varnish+lamp实现高可用、负载均衡集群的方法
掌握Nginx +keepalived+varnish+lamp实现高可用、负载均衡集群的方法

nginx -t

掌握Nginx +keepalived+varnish+lamp实现高可用、负载均衡集群的方法

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  //需要联网

掌握Nginx +keepalived+varnish+lamp实现高可用、负载均衡集群的方法

yum install -y varnish

掌握Nginx +keepalived+varnish+lamp实现高可用、负载均衡集群的方法

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

vi /etc/varnish/varnish.params(修改环圈部分)

掌握Nginx +keepalived+varnish+lamp实现高可用、负载均衡集群的方法

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实现高可用、负载均衡集群的方法

systemctl  start varnish
netstat -anpt | grep varnish

掌握Nginx +keepalived+varnish+lamp实现高可用、负载均衡集群的方法
80.103

vi /etc/varnish/varnish.params(修改以下内容)

掌握Nginx +keepalived+varnish+lamp实现高可用、负载均衡集群的方法
(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实现高可用、负载均衡集群的方法

3、装lamp(两台机子都要做的)(100主101备)
systemctl stop firewalld      //关闭防火墙
setenforce 0         //关闭监控
cd /etc/yum.repos.d/
mv back/* ./
安装wget
yum install -y  wget

掌握Nginx +keepalived+varnish+lamp实现高可用、负载均衡集群的方法

yum install -y httpd

掌握Nginx +keepalived+varnish+lamp实现高可用、负载均衡集群的方法

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

掌握Nginx +keepalived+varnish+lamp实现高可用、负载均衡集群的方法

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

掌握Nginx +keepalived+varnish+lamp实现高可用、负载均衡集群的方法

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

掌握Nginx +keepalived+varnish+lamp实现高可用、负载均衡集群的方法

启动 
systemctl start mysql
systemctl enable mysql

修改root密码并设置允许远程连接
进入mysql  
mysql -uroot

掌握Nginx +keepalived+varnish+lamp实现高可用、负载均衡集群的方法

设置root密码为123456
set password for 'root'@'localhost' =password('123456');

设置允许用root账户进行远程连接,并设置其密码为123456
grant all privileges on *.* to root@'%'identified by '123456';

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

退出:
exit

掌握Nginx +keepalived+varnish+lamp实现高可用、负载均衡集群的方法

部署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实现高可用、负载均衡集群的方法

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

80.104

vi /etc/httpd/conf/httpd.conf(修改以下内容)
ServerName www.example.com:80去掉#号

掌握Nginx +keepalived+varnish+lamp实现高可用、负载均衡集群的方法
掌握Nginx +keepalived+varnish+lamp实现高可用、负载均衡集群的方法

systemctl start httpd
echo "

192.168.80.101

" > /var/www/html/index.php

80.105

vi /etc/httpd/conf/httpd.conf(修改以下内容)
ServerName www.example.com:80去掉#号

掌握Nginx +keepalived+varnish+lamp实现高可用、负载均衡集群的方法

systemctl start httpd
echo "

192.168.80.102

" > /var/www/html/index.html

任务栏搜索192.168.80.100

掌握Nginx +keepalived+varnish+lamp实现高可用、负载均衡集群的方法

任务栏搜索192.168.80.102

掌握Nginx +keepalived+varnish+lamp实现高可用、负载均衡集群的方法

任务栏搜索192.168.80.103

掌握Nginx +keepalived+varnish+lamp实现高可用、负载均衡集群的方法

任务栏搜索192.168.80.104

掌握Nginx +keepalived+varnish+lamp实现高可用、负载均衡集群的方法

任务栏搜索192.168.80.105

掌握Nginx +keepalived+varnish+lamp实现高可用、负载均衡集群的方法

任务栏搜索192.168.80.188

掌握Nginx +keepalived+varnish+lamp实现高可用、负载均衡集群的方法

看了以上关于掌握Nginx +keepalived+varnish+lamp实现高可用、负载均衡集群的方法,如果大家还有什么地方需要了解的可以在行业资讯里查找自己感兴趣的或者找我们的专业技术工程师解答的,技术工程师在行业内拥有十几年的经验了。

 

相关内容

热门资讯

徐巧芯剖析赖清德:最怕自己丢掉... 海峡导报综合报道 大罢免投票一周年纪念活动26日举行,台北市长蒋万安出席并怒轰,民进党一年过后仍没有...
中国红十字会总会紧急向广东调拨... 记者从中国红十字会总会了解到,针对台风“红霞”给广东造成的灾情,中国红十字会总会启动四级应急响应,紧...
这些少年,正被“毒蛋”围猎 李梦抽了几口电子烟,吐出了白色的烟雾,有一股浓烈的水果香味。随后,她看着自己握电子烟的手,跟身边人说...
蒋万安号召“倒阁”,卢秀燕认为... 海峡导报综合报道 台北市长蒋万安27日抛出震撼议题,表示多名民代向他提议推动“倒阁”,要求台行政机构...
特朗普将在白宫会见两位重要客人 俄乌战争仍未结束,美伊冲突又有升级风险。在此背景下,美国总统特朗普将在白宫接见乌克兰和以色列领导人。...
新租客打扫卧室柜子上掉落4万元... 近日,莲前西路某小区内,张倩签下一套房子的租赁合同。当天上午,她带着12岁的大女儿周馨怡和11岁的小...
六部门通告:禁止涉军队退役报废... 关于禁止涉军队退役报废装备销售活动的通告近年来,部分经营者在线上线下公开销售涉及我军退役报废装备(指...
九寨沟景区发生泥石流,部分道路... 7月26日,九寨沟风景名胜区管理局发布泥石流灾害通报:2026年7月26日15时50分,九寨沟景区局...
空调26度不凉是什么原因 从空调内部元器件来说,不凉的原因有可能是温度传感器出现故障了,也有可能是空调压缩机或者铜管出现问题,...
鲸鸿动能携手香港国际机场、鸿蒙...   2026 年 7 月 25 日,十余位鸿蒙车主组成的车队从珠海出发,经港珠澳大桥通关抵达香港国际...