华为云:

  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集群的更多相关文章

  1. LVS + Keepalived 实现高可用、负载均衡 Web 集群

    简介: LVS 是 Linux Virtual Server 的简写,Linux 虚拟服务器的意思,是一个虚拟的服务器集群系统,此项目由章文嵩博士于 1998 年 5 月成立,是中国最早出现的自由软件 ...

  2. Keepalived+LVS 实现高负载均衡Web集群

    一.原理及简介: 1.1 Keepalived简介      Keepalived是Linux下一个轻量级别的高可用解决方案.Keepalived起初是为LVS设计的,专门用来监控集群系统中各个服务节 ...

  3. Mycat - 高可用与负载均衡实现,满满的干货!

    前言 开心一刻 和朋友去吃小龙虾,隔壁桌一个小女孩问妈妈:"妈妈,小龙虾回不了家,它妈妈会不会着急?" 她妈妈愣住了,我扒虾的手停下了,这么善良的问题,怎么下得了口.这是老板急忙过 ...

  4. 高可用与负载均衡(7)之聊聊Lvs-DR+Keepalived的解决方案

    今天直接开门见山了,直接说配置吧.首先介绍下我这的环境 如有问题,请联系我18500777133@sina.cn IP 安装软件 192.168.1.7 lvs1+keepalived master角 ...

  5. 浅谈web应用的负载均衡、集群、高可用(HA)解决方案(转)

    1.熟悉几个组件 1.1.apache     —— 它是Apache软件基金会的一个开放源代码的跨平台的网页服务器,属于老牌的web服务器了,支持基于Ip或者域名的虚拟主机,支持代理服务器,支持安 ...

  6. Keepalived+HAProxy实现RabbtiMQ高可用的负载均衡

    HAProxy提供高可用性.负载均衡以及基于TCP和HTTP应用的代理,支持虚拟主机,它是免费.快速并且可靠的一种解决方案,包括Twitter,Reddit,StackOverflow,GitHub在 ...

  7. 浅谈web应用的负载均衡、集群、高可用(HA)解决方案

    http://aokunsang.iteye.com/blog/2053719   声明:以下仅为个人的一些总结和随写,如有不对之处,还请看到的网友指出,以免误导. (详细的配置方案请google,这 ...

  8. JMS之——ActiveMQ 高可用与负载均衡集群安装、配置(ZooKeeper + LevelDB + Static discovery)

    一.说明 从 ActiveMQ 5.9 开始, ActiveMQ 的集群实现方式取消了传统的 Master-Slave 方式,增加了基于ZooKeeper + LevelDB 的 Master-Sla ...

  9. PostgreSQL 9.5 高可用、负载均衡和复制

    高可用.负载均衡和复制 1. 不同方案的比较 共享磁盘故障转移 共享磁盘故障转移避免了只使用一份数据库拷贝带来的同步开销. 它使用一个由多个服务器共享的单一磁盘阵列.文件系统(块设备)复制 DRBD是 ...

随机推荐

  1. java 中的容器(札记)

    创建容器向上转型为接口的时候,有时候,并不是一定可行的,因为有的实现类,在接口的基础添加了自己的方法:比如:List 接口下面的 LinkedList 自己定义了一些方法 : Arrays.asLis ...

  2. 剑指offer57:二叉树的下一个结点

    1 题目描述 给定一个二叉树和其中的一个结点,请找出中序遍历顺序的下一个结点并且返回.注意,树中的结点不仅包含左右子结点,同时包含指向父结点的指针. 2 思路和方法 中序遍历,下一个结点有两种情况 a ...

  3. 搭建apache2.4+php7+mysql+phpmyadmin

    apache2.2不支持php7,会报错 cannot load php7apache2_4.dll into server 前排提示:保证安装文件夹和我的一致可以省事很多哦 下载地址 下载apach ...

  4. Oracle数据库——用户(USER)

    前言   本文将介绍小白入门级别的关于用户的SQL语句.想全面了解的请参考其他资料.例如:Oracle官方文档--CREATE USER 文章目录 前言 创建用户 修改用户密码 授予用户权限 删除用户 ...

  5. Nginx server配置

    项目一般都需要前后端的配置,用二级域名把它区分开:首先在nginx.conf:里面加一句话: http{ #这里面有很多其他的配置 如:gzip FastCGI等等 include vhosts/*. ...

  6. CMake入门-04-自定义编译选项

    工作环境 系统:macOS Mojave 10.14.6 CMake: Version 3.15.0-rc4 Hello,World! - 自定义编译选项 CMake 允许为项目增加编译选项,从而可以 ...

  7. 字符串的简单操作----记录次数 hdu2617

    统计出字符串中共能拼凑出多少happy.happy相对次序不变. #include<cstdio> #include<iostream> #include<string. ...

  8. 设计模式(四)——代理模式(Proxy)

    代理模式的参与者有:一个约束.一个代理者.一个被代理者.一个调用者 代理模式的实现很简单:还是那个房子,对于开门这个操作,我更换了一个远程解锁的门,那么我就可以通过这个远程连接的服务器远程解锁,这样我 ...

  9. gitea configure

    gitea configure app.ini APP_NAME = Gitea: Git with a cup of tea RUN_USER = LSGX RUN_MODE = prod [oau ...

  10. VBA宏注释(四)

    注释用于记录程序逻辑和用户信息,其他程序员将来可以阅读并理解相同的代码无缝工作. 它包括由开发者,修改者以及还可以包括合并逻辑的信息. 解释器在执行时忽略注释. VBA中的注释用两种方法表示,它们分别 ...