千家信息网

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

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,下文给大家带来掌握Nginx +keepalived+varnish+lamp实现高可用、负载均衡集群的方法,希望能够给大家在实际运用中带来一定的帮助,负载均衡涉及的东西比较多,理论也不多,网上有很多
千家信息网最后更新 2026年11月01日掌握Nginx +keepalived+varnish+lamp实现高可用、负载均衡集群的方法

下文给大家带来掌握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)需要联网

所有主机必做的步骤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 root@192.168.80.101:/etc/keepalived/keepalived.conf

备(80.101)

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


主(80.100)

vi /opt/nginx.sh(添加以下内容)#!/bin/bashA=$(ps -ef | grep keepalived | grep -v grep | wc -l)if [ $A -gt 0 ];then        systemctl start nginxelse        systemctl sop nginxfi

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

netstat -anpt | grep nginxsystemctl start keepalivednetstat -anpt | grep nginx

ip addr show ens32


备(80.101)

vi /opt/nginx.sh(添加以下内容)#!/bin/bashA=$(ip addr | grep 192.168.80.188/32 | grep -v grep | wc -l)if [ $A -gt 0 ];then        systemctl start nginx else        systemctl stop nginxfi

chmod +x /opt/nginx.shsystemctl start keepalivedcat /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 varnishnetstat -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 varnishnetstat -anpt | grep varnish

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

yum install -y httpd

systemctl start httpdsystemctl 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

安装mysqlyum install -y mysql-community-server

启动 systemctl start mysqlsystemctl enable mysql修改root密码并设置允许远程连接进入mysql  mysql -uroot

设置root密码为123456set password for 'root'@'localhost' =password('123456');设置允许用root账户进行远程连接,并设置其密码为123456grant all privileges on *.* to root@'%'identified by '123456';修改的配置立即生效flush privileges;退出:exit

部署phpyum 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 httpdecho "

192.168.80.101

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

80.105

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

systemctl start httpdecho "

192.168.80.102

" > /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实现高可用、负载均衡集群的方法,如果大家还有什么地方需要了解的可以在行业资讯里查找自己感兴趣的或者找我们的专业技术工程师解答的,技术工程师在行业内拥有十几年的经验了。

内容 任务 搜索 防火墙 监控 防火 均衡 集群 密码 机子 部分 方法 在行 业内 前端 工程 工程师 技术 经验 解答 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网科技有限公司 什么是科技互联网 互联网属科技 美国互联网黑科技 北京禾田雨橡互联网科技 丰台科技园 互联网公司 科技伦理 互联网公司 济南华为互联网科技产业总部基地 广州市恰铎互联网科技有限公司 呼和浩特新华互联网科技学院 明优互联网科技有限公司 众安科技工业互联网合作 每天都有哪些好的互联网科技 广东工业互联网大赛深圳学泰科技 杭州披云加互联网科技有限公司 互联网科技数字货币 互联网安防科技感 抖集互联网科技技术咨询 互联网科技平台产品运营 互联网 科技节活动 微视频大赛 哈尔滨大商圈互联网科技有限公司 北京禾田雨橡互联网科技 互联网科技生活的内容 宝灵互联网科技有限公司 华夏恒生科技与互联网科技 互联网在线教育科技创业 晋城互联网科技 滨湖区互联网智能科技产品有哪些 扫呗互联网科技有限公司 数字互联网科技有限公司
0