分享好友 最新动态首页 最新动态分类 切换频道
docker搭建高可用与负载均衡(二)nginx+apache+php+mysql主从复制+NFS+zabbix监控系统
2024-12-27 02:12

网站建设是企业、组织、个人宣传和分享交流的重要的平台,尤其是在如今的信息化时代下,所有行业都在互联网的影响下实现数字化、在线化。在网站的建设中,网站的部署和发布是非常重要的一环,尤其是企业网站,随着企业的影响力和业务规模的扩大,企业的服务器需要承载的访问量和负载也日益增多,这就对企业提供网络服务提出了新的标准。因此,为使得企业网络可以承载更多的访问量和业务需求,我们就需要搭建web集群,实现企业级web集群负载均衡和高可用。而在网站开发的过程中,企业或者个人往往不会考虑从零开始开发,为节约时间和经济成本,通常会选择一款框架来建设和部署网站。在本次项目中,我选取现在国外热门的网站框架——wordpress来进行web集群的安装和部署,以nginx做负载均衡器,配置双网站来承担网站负载,配置NFS共享、mysql主从复制和zabbix监控系统。

1.1.1 wordpress网站框架简介

WordPress是使用PHP语言开发的博客平台,用户可以在支持PHP和MySQL数据库的服务器上架设属于自己的网站。也可以把 WordPress当作一个内容管理系统(CMS)来使用。
WordPress是一款个人博客系统,并逐步演化成一款内容管理系统软件,它是使用PHP语言和MySQL数据库开发的,用户可以在支持 PHP 和 MySQL数据库的服务器上使用自己的博客。
WordPress有许多第三方开发的免费模板,安装方式简单易用。不过要做一个自己的模板,则需要你有一定的专业知识。比如你至少要懂的标准通用标记语言下的一个应用HTML代码、CSS、PHP等相关知识。
WordPress官方支持中文版,同时有爱好者开发的第三方中文语言包,如wopus中文语言包。WordPress拥有成千上万个各式插件和不计其数的主题模板样式。

1.1.2 负载均衡

网站正式上线时,考虑到单台节点的服务器无法承受超负载的HTTP(s)请求时,此时为满足外部的访问量,同时为了方便管理、提高扩展性和安全性以及减少企业开支,通常就需要采用增加服务器部署站点配置负载均衡集群的方法,来提高企业网站的网络服务能力。

1.1.3 高可用

当负载均衡的服务器节点越来越多时,网站规模也越来越大,负载均衡分发器承担的网络流量最大,其在整个集群中的重要性也就不言而喻,一旦节点出现故障甚至宕机,整个集群将无法对外提供服务。因此,除了负载均衡之外,我们同时会部署负载均衡的高可用,即负载均衡器的主备部署。

1.1.4 NFS共享

配置宿主机文件NFS共享,可以通过网络访问共享资源,节省服务器的存储空间。同时可以方便对文件的统一管理。

1.1.5 mysql主从复制

web负载均衡和高可用保证了web软件的正常访问和运行,但却无法保证数据库的安全。而数据对一个网站来说,是非常重要的。因此在基于对数据安全的考虑,我们对mysql设置主从复制,增强数据库的安全性。

1.1.6 监控系统

为方便网站的运营和维护,对整个集群进行监控,我们另外设置一台服务器来监控系统的运行状态。方便在监控网站各服务器的运行,以备在系统出现问题,能快速找到应对方案,减少企业的损失。

本次项目着重对web应用的部署和mysql数据库的主从部署,通过nginx负载均衡分担网络流量,同时使用zabbix进行网络的监控。

系统的地址以及软件环境如下
容器(Container) 操作系统(OS) IP地址 安装软件
宿主机(docker) CentOS7 192.168.131.100 Docker
nginx1 CentOS7 172.18.0.11 nginx
web CentOS7 172.18.0.111 apache+php
web1 CentOS7 172.18.0.112 apache+php
mysql-master CentOS7 172.18.0.201 Mysql
mysql-slave CentOS7 172.18.0.202 mysql
zabbix CentOS7 172.18.0.254 zabbix
network 172.18.0.0/16

在宿主机上安装docker,在此次实验中,我使用的是centOS7的linux环境。
使用下面的命令安装docker

 

此次项目中,使用了六个容器,如图所示

 
 

Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。其特点是占有内存少,并发能力强。Nginx 可以在大多数 UnixLinux OS 上编译运行,并有 Windows 移植版。
Nginx作为负载均衡服务:Nginx 既可以在内部直接支持 Rails 和 PHP 程序对外进行服务,也可以支持作为 HTTP代理服务对外进行服务。Nginx采用C进行编写,不论是系统资源开销还是CPU使用效率都比 Perlbal 要好很多。
处理静态文件,索引文件以及自动索引;打开文件描述符缓冲。
无缓存的反向代理加速,简单的负载均衡和容错。
FastCGI,简单的负载均衡和容错。
模块化的结构。包括 gzipping, byte ranges, chunked responses,以及 SSI-filter 等 filter。如果由 FastCG或其它代理服务器处理单页中存在的多个 SSI,则这项处理可以并行运行,而不需要相互等待。
支持 SSL 和 TLSSNI。

3.2.1 下载安装配置nginx

 

3.2.2 启动nginx

 
 

3.3.1 安装apache和php

 

3.3.2 下载wordpress

 

3.3.3 配置apache服务器

配置网站根目录为wordpress的目录

 

3.3.4 PHP版本问题和wordpress的安装探索

 

删除原先有的php,并安装php7(wordpress5 兼容php7,但是部分主题插件不兼容)

 

3.3.5 检测php环境

3.4.1 宿主机安装nfs,配置共享目录

  1. 安装配置nfs

    #yum install nfs-utils //使用yum方式安装nfs
    #vim /etc/sysconfig/nfs
    #systemctl start rpcbind //启动rpcbind服务,查看监听端口

2.新建 /var/www/html/wordpress/wp-includes目录为共享目录,设置权限为777
这里我只将wp-includes即wordpress的核心文件设置为nfs共享,其他需要设置nfs共享的目录可以按照相同的思路进行配置。
3.编辑/etc/exports文件

 

重启nfs服务
3.4.2 配置web容器,挂在共享目录

 
 

3.5.1 安装mysql

 

3.5.2 修改初始密码

 

3.5.3 添加wordpress 用户和权限

(1)赋予wordpress软件服务器器访问权限

 

(2)创建wordpress数据库
A.倘若你是在公网的环境下进行,服务器都有公网地址,则在此处可以直接创建wordpress数据库,并通过网页进行安装。

 

在安装时会设置mysql的服务器地址,以及后台登录账号和密码,但是由于我这里采用的时docker的内部环境,因此在安装过程中出现了一些问题,不过幸运的是,都找到了解决方法。解决过程如下
1)服务器无法连接
因为web安装时会从web端对服务器进行检测,但是通过主机访问时无法正常连接到服务器,因此需要在web服务器端进行一些操作。
A.复制wp-config-sample.php文件为wp-config.php,编辑文件内容如下

 
 
 

给wordpress数据库加入一个管理员权限的用户
:在此次环境中,我采用的是docker环境,用主机浏览时,无法使用web界面正确安装wordpress,因此,倘若你也遇到后台登录账号无法登录的问题,可以通过如下方法添加测试账号,用于登录网站后台

 
 
 

2.在master节点配置从节点账号

3.7.1 下载安装zabbix

//配置镜像

 

3.7.2 .初始化mysql数据库

 

3.7.3 配置数据库

//在zabbix_server.conf中编辑数据库配置

 

3.7.4 启动

 
 
 

鉴于以上安装流程中出现的问题,建议在单台服务器上先完成wordpress的安装,导出数据库,以安装好的wordpress容器提交为镜像,然后创建新的容器。拷贝导出的数据库文件,导入到mysql-master上,并在mysql-master上配置给web服务器的权限。

最新文章
谷歌SEO优化,如何做好local business?
在当今数字化时代,谷歌搜索引擎已成为连接消费者与本地商家的重要桥梁。作为一名在SEO领域摸爬滚打多年的从业者,我深知在谷歌搜索结果中获得良好排名对于本地企业来说至关重要。这不仅意味着更多的曝光机会,还能直接转化为销售额的提升
外链建设计划:利用微信 Bug 提升网站权重
在竞争激烈的数字环境中,网站外链建设对于提高搜索引擎排名和网站可见度至关重要。利用微信 Bug 外链方法,我们可以有效地获得高质量外链,从而提升网站权重。本文将提供一个详细的外链建设规划计划和执行方案,帮助您有效地利用此策略。
除了您在Google搜索中看到的文字广告之外,展示广告网络中的网站还可以展示其他具有视觉吸引力的广告类型:文字广告 图片广告——包含照片或插图的广告富媒体广告—&m
上海天擎结合Google领先的搜索广告优化经验,为广告主定制出一套适合Google推广的解决方案MADA服务模式,通过市场分析策略、广告管理策略、数据分析策略、账户优化策略及服务保障策略全方位、专业、高效的满足企业Google推广的需求,真正
短剧逍遥全集观看_逍遥 电视剧
今天给各位分享短剧逍遥全集观看的知识,其中也会对逍遥 电视剧进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!1、总之,又见逍遥电视剧一共40集,这个集数安排既符合了电视剧制作的一般规律,又满足了观众对于精
十大耐玩平民手游多人下载推荐 耐玩的手机游戏有哪些2024
一些平民玩家很爱玩那种不肝不氪又很耐玩的手游,许多福利超多的联机类游戏都很适合平民体验,多元化内容加上良心福利机制满足了平民小白玩家的需求,那么十大耐玩平民手游多人下载推荐哪个好?本文介绍10个免费耐玩佳作都需要联网运行,平
转载:【AI系统】从 CUDA 对 AI 芯片思考
从技术的角度重新看英伟达生态,有很多值得借鉴的方面。本文将主要从流水编排、SIMT 前端、分支预测和交互方式等方面进行分析,同时对比 DSA 架构,思考可以从英伟达 CUDA 中借鉴的要点。英伟达生态的思考点从软件和硬件架构的角度出发,CU
新奥精准资料免费大全|精选解释解析落实
  在这个信息爆炸的时代,获取高质量的资料变得越来越重要。本文旨在提供一个全面的资料库,涵盖了各个领域的精选资源,从科技、人文到社会科学等,无需付费即可享有。我们将对每个领域的资料进行精选解释和深度解析,确保读者能够真正理
活动回顾 | “心航向”职业生涯规划工作坊
“心航向”职业生涯规划工作坊— 活 动 回 顾 —在职业道路的选择上,明确的方向和明智的规划是成功的关键。2024年12月7日,浙江大学心理与行为科学系在海纳苑3幢417室举办了一场意义深远的“心航向”职业生涯规划工作坊,旨在为心理系学子
看过《被困百万年:弟子遍布诸天万界》的人还看过
感谢您对我方的信任,我们将按照法律法规要求,采取严格的安全保护措施,保护您的个人隐私信息。在此,我们郑重的提醒您:1.在您使用我方提供的服务时,建议您详细阅读本用户隐私政策,详细了解我方收集,存储,使用,披露和保护您的个人信
美甲培训如何助力你在教育行业中脱颖而出?
作为一位教育行业从业者,我们都希望自己能够在竞争激烈的市场中脱颖而出。而美甲培训正是一个能够帮助我们实现这一目标的利器。在本文中,我们将从多个角度来阐述美甲培训如何助力我们在教育行业中取得成功。美甲培训不仅仅是教授学员如何
相关文章
推荐文章
发表评论
0评