华为云:实现高可用的负载均衡web集群
华为云:
2台云主机做负载均衡调度
》》申请一个虚拟浮动ip,并绑定一个弹性公网ip
》》将两台云主机绑定到虚拟浮动ip上
3台web服务器
1台云服务器做jumpserver(跳板机,用于批量管理)
#购买增强型负载均衡器(配置监听器、后端服务器组)
跳板机
下载nginx源码包并打包成rpm,更新自建yum仓库
> 安装rpm-build
[root@jumpserver ~]# yum -y install rpm-build
> 生成rpmbuild目录结构
[root@jumpserver ~]# rpmbuild -ba nginx.spec
> 下载源码到rpmbuild目录下的SOURCES子目录下
[root@jumpserver ~]# wget http://nginx.org/download/nginx-1.12.2.tar.gz
[root@jumpserver ~]# mv /root/nginx-1.12..tar.gz /root/rpmbuild/SOURCES/
> 创建并修改SPEC配置文件
name: nginx
Version: 1.12.
Release:
Summary: Nginx is a web server software. #Group:
License: GRL
URL: www.cloud.com
Source0: nginx-1.12..tar.gz #BuildRequires:
#Requires: %description
this is a nginx... %post
useradd nginx %prep
%setup -q %build
./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_ssl_module
make %{?_smp_mflags} %install
make install DESTDIR=%{buildroot} %files
%doc
/usr/local/nginx/* %changelog
> 使用配置文件创建RPM包
[root@jumpserver ~]# yum -y install gcc pcre-devel openssl-devel # 安装依赖
[root@jumpserver ~]# rpmbuild -ba /root/rpmbuild/SPECS/nginx.spec
[root@jumpserver ~]# rpm -qpi /root/rpmbuild/RPMS/x86_64/nginx-1.12.2-10.x86_64.rpm # 测试
> 将rpm包拷贝到自建的yum 仓库下并更新yum源
[root@jumpserver ~]# cp /root/rpmbuild/RPMS/x86_64/nginx-1.12.-.x86_64.rpm /var/ftp/local_repo/
[root@jumpserver local_repo]# createrepo --update .
> 批量安装nginx
[root@jumpserver ~]# ansible web -m yum -a 'name=nginx'
> 配置/etc/systemd/system/nginx.service,使nginx支持systemctl控制,并批量下发到所有主机
[Unit]
Description=nginx
Documentation=http://nginx.org/en/docs/
After=network.target remote-fs.target nss-lookup.target [Service]
Type=forking
PIDFile=/usr/local/nginx/logs/nginx.pid
ExecStartPre=-/usr/local/nginx/sbin/nginx -t -c /usr/local/nginx/conf/nginx.conf
ExecStart=/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
ExecReload=/usr/local/nginx/sbin/nginx -s reload
ExecStio=/usr/local/nginx/sbin/nginx -s quit
PrivateTmp=true [Install]
WantedBy=multi-user.target
[root@jumpserver ~]# ansible web -m copy -a 'src=/root/nginx.service dest=/etc/systemd/system/nginx.service'
> 批量启动nginx服务
[root@jumpserver ~]# ansible web -m service -a 'name=nginx state=started enabled=yes'
[root@jumpserver ~]# ansible web -m shell -a 'ss -ltnup | grep *:80'
调度器(2台)
> 安装 keepalived
yum -y install keepalived
> 修改配置文件 vim /etc/keepalived/keepalived.conf
! Configuration File for keepalived
global_defs {
notification_email {
root@localhost
}
notification_email_from root@localhost
smtp_server 127.0.0.1
smtp_connect_timeout
router_id web-
}
vrrp_instance VI_1 {
state BACKUP # 另外一台配置为MASTER
interface eth0
virtual_router_id # 两台调度器的值相同
priority # 优先级,设置不同值
advert_int
authentication {
auth_type PASS
auth_pass # 密码 必须相同
}
virtual_ipaddress {
192.168.1.100 # vip
}
}
> 重启服务
systemctl restart keepalived
> 配置nginx调度 vim /usr/local/nginx/conf/nginx.conf
http {
...
# web集群
upstream webserver {
server 192.168.1.13:;
server 192.168.1.14:;
server 192.168.1.15:;
}
server {
listen ;
server_name localhost;
location / {
proxy_pass http://webserver;
}
...
}
web集群
> 配置 vim /usr/local/nginx/conf/nginx.conf # ansible 批量部署 nginx配置文件,方便排错
server {
listen 80;
server_name localhost;
add_header 'Cluster- id ' {{ansible_hostname}}';
location /
{
proxy_pass http://webserver;
}
}
华为云:实现高可用的负载均衡web集群的更多相关文章
- LVS + Keepalived 实现高可用、负载均衡 Web 集群
简介: LVS 是 Linux Virtual Server 的简写,Linux 虚拟服务器的意思,是一个虚拟的服务器集群系统,此项目由章文嵩博士于 1998 年 5 月成立,是中国最早出现的自由软件 ...
- Keepalived+LVS 实现高负载均衡Web集群
一.原理及简介: 1.1 Keepalived简介 Keepalived是Linux下一个轻量级别的高可用解决方案.Keepalived起初是为LVS设计的,专门用来监控集群系统中各个服务节 ...
- Mycat - 高可用与负载均衡实现,满满的干货!
前言 开心一刻 和朋友去吃小龙虾,隔壁桌一个小女孩问妈妈:"妈妈,小龙虾回不了家,它妈妈会不会着急?" 她妈妈愣住了,我扒虾的手停下了,这么善良的问题,怎么下得了口.这是老板急忙过 ...
- 高可用与负载均衡(7)之聊聊Lvs-DR+Keepalived的解决方案
今天直接开门见山了,直接说配置吧.首先介绍下我这的环境 如有问题,请联系我18500777133@sina.cn IP 安装软件 192.168.1.7 lvs1+keepalived master角 ...
- 浅谈web应用的负载均衡、集群、高可用(HA)解决方案(转)
1.熟悉几个组件 1.1.apache —— 它是Apache软件基金会的一个开放源代码的跨平台的网页服务器,属于老牌的web服务器了,支持基于Ip或者域名的虚拟主机,支持代理服务器,支持安 ...
- Keepalived+HAProxy实现RabbtiMQ高可用的负载均衡
HAProxy提供高可用性.负载均衡以及基于TCP和HTTP应用的代理,支持虚拟主机,它是免费.快速并且可靠的一种解决方案,包括Twitter,Reddit,StackOverflow,GitHub在 ...
- 浅谈web应用的负载均衡、集群、高可用(HA)解决方案
http://aokunsang.iteye.com/blog/2053719 声明:以下仅为个人的一些总结和随写,如有不对之处,还请看到的网友指出,以免误导. (详细的配置方案请google,这 ...
- JMS之——ActiveMQ 高可用与负载均衡集群安装、配置(ZooKeeper + LevelDB + Static discovery)
一.说明 从 ActiveMQ 5.9 开始, ActiveMQ 的集群实现方式取消了传统的 Master-Slave 方式,增加了基于ZooKeeper + LevelDB 的 Master-Sla ...
- PostgreSQL 9.5 高可用、负载均衡和复制
高可用.负载均衡和复制 1. 不同方案的比较 共享磁盘故障转移 共享磁盘故障转移避免了只使用一份数据库拷贝带来的同步开销. 它使用一个由多个服务器共享的单一磁盘阵列.文件系统(块设备)复制 DRBD是 ...
随机推荐
- JAVA_split 字符串按照 . 分割
split 按照 . 分割字符串时 需要进行转义 代码: String[] str = obj_str.split("\\.") split 按照 \ 分割字符串时 需要多次转义 ...
- docker 实践一:简介和安装
docker 的简介 docker 绝对是这几年来的重量级开源软件,它是使用 Go 实现的开源容器项目,分属于虚拟化技术. docker 和 虚拟机 docker 作为一种轻量级的虚拟化方式,在运行应 ...
- CI/CD/Jenkins
Continuous Integration, Continuous Delivery & Deployment (CI/CD) 持续集成.持续部署&持续交付. Jenkins就是一个 ...
- (三)easyUI之树形组件
一.同步树 1.1 概念 所有节点一次性加载完成 1.2 案例 1.2.1 数据库设计 1.2.2 编码 index.jsp <%@ page language="java" ...
- (错误)Lucene工具Luck启动错误
启动luke命令行下图错误 错误原因:luke版本和lucene版本不匹配,lucene5.3.0版本必须用luke5.3.0版本才能打开索引. 解决方法:更新luke版本即可. luke 所有版本下 ...
- 微软升级 WSL Window Subsystem for Linux Win10系统自带Linux
在设计之初,微软就允许类似于Win32这种子系统运行于windows NT内核之上,它可以为上层应用提供编程接口,同时避免应用去实现内核里的一些调用细节.NT内核的设计在最开始就可以支持POSIX,O ...
- Trie-Tree
最近写了一些关于字典树的题目,这里做个简单的整理. 字典树,又叫单词查找树,顾名思义就是查单词的(不仅仅o),和词典一样.不同的是词典是用纸做的,而字典树是用树形结构构建的. 她用来快速检索你要的内容 ...
- 正则限制input负数输入
//直接在input标签内加入下面两个事件处理程序即可 onkeyup="this.value=this.value.replace(/\D|^0/g,'')" onafterpa ...
- UDP及操作系统理论
UDP介绍 udp协议又称用户数据报协议 在OSI七层模型中,它于TCP共同存在于传输层 仅用于不要求可靠性,不要求分组顺序且数据较小的简单传输,力求速度 UDP结合socket用法 1.创建sock ...
- 【转载】Android性能优化之渲染篇
下面是渲染篇章的学习笔记,欢迎大家一起学习交流! 1)Why Rendering Performance Matters 现在有不少App为了达到很华丽的视觉效果,会需要在界面上层叠很多的视图组件,但 ...