技术标签: 负载均衡 运维 linux 群集架构 http 服务器
关于负载均衡的原理,我I在上一篇写的很详细~~(大概吧)~~ 了
链接在这:博客地址点我
使用 VM虚拟机进行演示
共使用 六 台虚拟机:
1、负载均衡调度器,同时作为进出口网关 CentOS7.6
2、三台 节点服务器 CentOS7.6
3、一台 NFS 文件服务器 CentOS7.6
4、一台 客户端 使用 Win10
客户端20端访问服务器群集,验证轮询
[root@localhost ~]# yum -y install nfs-utils ##安装nfs组件
[root@localhost ~]# yum -y install rpcbind ##RPC服务
修改IP地址和网卡模式
NFS服务要处于内网192.168.10段,网关指向一会配置的LVM的局域网接口
[root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33
IPADDR=192.168.10.20 ##IP地址
PREFIX=24 ##子网掩码
GATEWAY=192.168.10.1 ##网关
[root@localhost ~]# systemctl restart network
设置NFS
[root@localhost ~]# mkdir /NFSshare
[root@localhost ~]# cd /NFSshare/
[root@localhost NFSshare]# mkdir zero one two
[root@localhost NFSshare]# vim /etc/exports ##现网中只要指向一个就可以,因为全部服务器的内容要一样,不会影响使用
/NFSshare/zero 192.168.10.0/24(rw,sync)
/NFSshare/one 192.168.10.0/24(rw,sync)
/NFSshare/two 192.168.10.0/24(rw,sync)
[root@localhost NFSshare]# systemctl start nfs
[root@localhost NFSshare]# systemctl start rpcbind
[root@localhost NFSshare]# showmount -e
Export list for localhost.localdomain:
/NFSshare/one 192.168.10.0/24
/NFSshare/zero 192.168.10.0/24
/NFSshare/two 192.168.10.0/24
我们配置Apache来验证
三台服务器均安装HTTPD,关闭防火墙
[root@5centos ~]# yum -y install httpd
[root@5centos ~]# setenforce 0
[root@5centos ~]# iptables -F
配置IP为 192.168.10 网段
分别为 192.168.10.21
192.168.10.22
192.168.10.23
[root@5centos ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33
IPADDR=192.168.10.21 ##另外两条如上面的配置
PREFIX=24
GATEWAY=192.168.10.1
[root@5centos ~]# systemctl restart network
查看 NFS 是否成功
[root@5centos ~]# showmount -e 192.168.10.20
Export list for 192.168.10.20:
/NFSshare/two 192.168.10.0/24
/NFSshare/one 192.168.10.0/24
/NFSshare/zero 192.168.10.0/24
设置 自动挂载,三个共享文件夹给三台节点服务器
[root@5centos ~]# vim /etc/fstab
节点 一
192.168.10.20:/NFSshare/zero /var/www/html nfs defaults 0 0
[root@5centos ~]# mount -a ##测试挂载
节点 二
[root@localhost ~]# vim /etc/fstab
192.168.10.20:/NFSshare/one /var/www/html nfs defaults 0 0
[root@localhost ~]# mount -a
节点 三
[root@7CentOS ~]# vim /etc/fstab
192.168.10.20:/NFSshare/two /var/www/html nfs defaults 0 0
[root@7CentOS ~]# mount -a
在 NFS 服务器上配置 Apache 主页文件
[root@localhost NFSshare]# echo "<h1>This is ZERO.</h1> " > /NFSshare/zero/index.html
[root@localhost NFSshare]# echo "<h1>This is ONE.</h1> " > /NFSshare/one/index.html
[root@localhost NFSshare]# echo "<h1>This is TWO.</h1> " > /NFSshare/two/index.html
三台节点开启 HTTP 服务
[root@5centos ~]# systemctl start httpd
LVS
[root@4CentOS ~]# modprobe ip_vs ##加载 ip_vs 模块
[root@4CentOS ~]# cat /proc/net/ip_vs
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
安装 管理工具
[root@4CentOS ~]# yum -y install ipvsadm
设置双网卡,并设置 IP 地址
[root@4CentOS ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33
DEVICE="ens33"
ONBOOT="yes"
IPADDR="20.0.0.1"
PREFIX="24"
GATEWAY="20.0.0.1"
[root@4CentOS ~]# cd /etc/sysconfig/network-scripts/
[root@4CentOS network-scripts]# cp ifcfg-ens33 ifcfg-ens34 ##为新网卡增加配置文件
[root@4CentOS network-scripts]# vim ifcfg-ens34
##删除 UUID
NAME="ens34"
DEVICE="ens34"
ONBOOT="yes"
IPADDR="192.168.10.1"
PREFIX="24"
GATEWAY="192.168.10.1"
[root@4CentOS network-scripts]# systemctl restart network
[root@4CentOS network-scripts]# ip a s
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 00:0c:29:99:ce:e5 brd ff:ff:ff:ff:ff:ff
inet 20.0.0.1/24 brd 20.0.0.255 scope global noprefixroute ens33
valid_lft forever preferred_lft forever
inet6 fe80::20c:29ff:fe99:cee5/64 scope link
valid_lft forever preferred_lft forever
5: ens34: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 00:0c:29:99:ce:ef brd ff:ff:ff:ff:ff:ff
inet 192.168.10.1/24 brd 192.168.10.255 scope global noprefixroute ens34
valid_lft forever preferred_lft forever
inet6 fe80::20c:29ff:fe99:ceef/64 scope link
valid_lft forever preferred_lft forever
制作 LVS-NAT
[root@4CentOS /]# echo "1" > /proc/sys/net/ipv4/ip_forward ##开启地址转发
[root@4CentOS /]# ipvsadm -C ##清除缓存
[root@4CentOS /]# ipvsadm -A -t 20.0.0.1:80 -s rr ##-A指向 Vip,-t tcp协议,rr 轮询,-m nat
[root@4CentOS /]# ipvsadm -a -t 20.0.0.1:80 -r 192.168.10.21:80 -m ##-a 指向调度 -r 节点IP
[root@4CentOS /]# ipvsadm -a -t 20.0.0.1:80 -r 192.168.10.22:80 -m
[root@4CentOS /]# ipvsadm -a -t 20.0.0.1:80 -r 192.168.10.23:80 -m
[root@4CentOS /]# ipvsadm ##启动 LVS 功能
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP 4CentOS:http rr
-> 192.168.10.21:http Masq 1 0 0
-> 192.168.10.22:http Masq 1 0 0
-> 192.168.10.23:http Masq 1 0 0
设置 客户端 Win 10 的 IP 地址
使用浏览器访问 20.0.0.1
注:大概分割 20 秒访问,不然会打开网页缓存
文章浏览阅读2.4k次,点赞3次,收藏9次。在写qt网口通信的过程中,遇到中文就乱码。解决方法如下:1.接收端处理中文乱码代码如下 QByteArray-> QString 中文乱码解决: #include <QTextCodec>QByteArray data= tcpSocket->readAll(); QTextCodec *tc = QTextCodec::codecForName("GBK"); QString str = tc->toUnicode(data);//str如果是中文则是中文字符_qbytearray中文乱码
文章浏览阅读2.5k次,点赞2次,收藏15次。什么是 DOM?文档对象模型(Document Object Model,简称 DOM),是 W3C 组织推荐的处理可扩展标记语言(HTML或者XML)的标准编程接口。W3C 已经定义了一系列的 DOM 接口,通过这些 DOM 接口可以改变网页的内容、结构和样式DOM 树文档:一个页面就是一个文档,DOM 中使用 document 表示元素:页面中的所有标签都是元素,DOM 中使用 element 表示节点:网页中的所有内容都是节点(标签、属性、文本、注释等),DOM 中使用 node._元素事件
文章浏览阅读1.4k次,点赞3次,收藏7次。关于服务的一些基本知识,包括活动对接口的方法调用,接口实现,服务生命周期等知识。_安卓服务
文章浏览阅读7.9k次,点赞5次,收藏8次。小白式数据库连接池使用,看完拿捏数据库连接池。_采用连接池方式连接数据库
文章浏览阅读4.9k次,点赞5次,收藏36次。摘要:本文介绍了C++11中如何开启新线程,并详细讲解了线程的基础同步原语:mutex, lock_guard, unique_lock, condition variable和semaphore等。如何采用async, packaged_task和promise实现future同步机制?怎样处理spurious wakeup?本文以质数判定服务为例为大家分享C++多线程同步措施!1. C++线程和基础同步原语Thread mutex, lock_guard, unique_lock con._c++线程同步
文章浏览阅读3.3k次,点赞4次,收藏9次。STM32 GPIOx通用输入输出I/O端口的BSRR寄存器与BRR功能简述_gpiob->brr
文章浏览阅读590次。IMP-00019: row rejected due to ORACLE error 12899IMP-00003: ORACLE error 12899 encounteredORA-12899: value too large for column "CRM"."BK_ECS_ORDER_INFO_00413"."POSTSCRIPT" (actual: 895, maximum..._row rejected due to oracle
文章浏览阅读918次。目前很多Web的项目在部署的时候会采用Nginx做为前端的反向代理服务器,后端会部署很多业务处理服务器,通常情况下Nginx代理服务器部署的还是比较少,而且其以高效性能著称,几万的并发连接处理速度都不在话下。然而去年的时候,我们的线上系统也采用类似的部署结构,同时由于我们的业务需求,Nginx的部署环境在虚拟机上面,复用了其他虚拟机的整体磁盘,在高IO消耗的场景中,我们发现Nginx的磁盘_nginx tcp转发 硬盘io
文章浏览阅读645次。Activiti 开发环境的搭建非常简单,主要分为 Activiti runtime 的安装以及 Eclipse 开发环境的配置。本文以 Windows 平台为例介绍 Activiti 5.8 版的开发环境的搭建配置过程。Activiti 的运行时程序可以从http://www.activiti.org/download.html 下载,目前最新版本为 5.8。为了配置使用 Activ_antdev activity
文章浏览阅读2.3k次。1. Vuex 是什么?Vuex 是专门为Vue 组件化思想带来的组件间通信问题提供的解决方案,主要解决以下两个问题:多个视图依赖于同一状态 来自不同视图的行为需要变更同一状态2. 核心概念State: 可以简单理解为Vue 维持的全局变量(状态)。 Getter: 获取State 中的状态的方法,可以在取出前对数据进行二次处理。 Mutation: 是改变State 中的状态..._vuex的组件同级通信
文章浏览阅读8.4k次,点赞31次,收藏33次。逆向中常常出现一些加密算法,如果我们能对这些加密算法进行快速识别则会大大减少我们逆向的难度,虽然IDA已有密码分析神器Findcrypt,但掌握手动分析方法能帮助我们应对更多的情况。这篇文章将介绍逆向中常见的单项散列算法和对称加密算法的识别方法。0xFF. 前言在很长一段时间里我经常发现自己面对复杂的加密算法无从下手,可能是因为还没有系统学过密码学吧orz,总之这个问题困扰了我很久。于是最近我花了一些时间来解决自己在密码学这块的薄弱点,写下这篇文章的目的之一也是为了巩固所学知识。加密算法的部分没有_findcrypt3 支持哪些算法
文章浏览阅读5.3k次。smplayerThere are lots of video players out there, but one that we think gets overlooked is SMPlayer. It can do anything other video players can do and even more – like remembering where you left off ..._sm69影视