掌握Nginx +keepalived+varnish+lamp实现高可用、负载均衡集群的方法
发表于:2025-12-02 作者:千家信息网编辑
千家信息网最后更新 2025年12月02日,下文给大家带来掌握Nginx +keepalived+varnish+lamp实现高可用、负载均衡集群的方法,希望能够给大家在实际运用中带来一定的帮助,负载均衡涉及的东西比较多,理论也不多,网上有很多
千家信息网最后更新 2025年12月02日掌握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-releaseyum install -y nginxyum 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 nginxfichmod +x /opt/nginx.shll /opt/nginx.shnetstat -anpt | grep nginxsystemctl start keepalivednetstat -anpt | grep nginxip 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 nginxfichmod +x /opt/nginx.shsystemctl start keepalivedcat /var/log/messages
主(80.100)
cat /var/log/messagesvi /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 -tscp /etc/nginx/nginx.conf 192.168.80.101:/etc/nginx/nginx.confsystemctl restart nginx2、装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.vcl80.103
systemctl start varnishnetstat -anpt | grep varnish3、装lamp(两台机子都要做的)(100主101备)systemctl stop firewalld //关闭防火墙setenforce 0 //关闭监控cd /etc/yum.repos.d/mv back/* ./安装wgetyum install -y wgetyum install -y httpdsystemctl 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.php80.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安全错误
数据库的锁怎样保障安全
cisp与网络安全法
朱雀网络技术
盗贼之海怎么玩单人服务器
廊坊数据库应用培训机构
女生网络技术
安卓qq王者切换服务器
网络安全轮廓手抄报
华为算互联网还是科技枪好
华为云服务器 安全组
电力系统网络安全无主Ip
戴尔服务器坏了
《护苗网络安全》观后感
我的世界服务器管理员在哪里
支付宝网络技术有限公司总部
计算机软件开发前端和后端
联想服务器虚拟机在哪个目录
亚马逊的云服务器产品
网络安全高职用书
麻将软件开发价格合理
网络安全专业和通讯哪个好
前端开发涉及到的网络安全
怎样用服务器下载数据库文件
衢州市白领软件开发公司
数据库同步招聘
c 获取数据库表里的索引
兰格网络技术
辽源网络安全周
湖南时钟同步服务器云空间
中国网络安全基础知识竞赛
c修改数据库