分享好友 最新动态首页 最新动态分类 切换频道
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服务器的权限。

最新文章
淘宝店铺转让需要注意什么,淘宝店铺出售转让平台哪个好
随着电商行业的蓬勃发展,越来越多的卖家通过淘宝店铺创业,也有一部分卖家因为个人原因、经营困难或其他原因,选择将自己的淘宝店铺进行转让。对于一些卖家而言,淘宝店铺的转让是一项重要的决策,因此在进行店铺转让时,必须了解相关的法
顶级音质,创新耳夹设计!Sanag塞那S9S体验
保护听力、舒适佩戴、安全可靠,这些全是开放式耳机的优点,在今年的耳机市场,这种开放式设计的耳机深受消费者喜爱。而在开放式耳机中最有代表性的无疑是Sanag塞那这个品牌,S9S作为Sanag塞那推出的第九代耳夹式耳机产品,已经成为2024年
谷歌狙击OpenAI 集中火力猛攻AI智能体
  《科创板日报》12月12日讯12月12日,在OpenAI宣布ChatGPT全面接入之际,谷歌发布新一代大模型Gemini 2.0,值得注意的是,Gemini 2.0专为AI智能体(AI Agent)而生。  谷歌首席执行官Sundar Pichai在公开信中称,“在过去一年中,我们
联想笔记本电脑
外观方面,小新Air14 2023 酷睿版采用一眼纤薄轻颜设计,结合旗舰工艺,机身如丝绸般丝滑细腻,共有烟霞紫、卷云灰和凯斯哈林三种配色可选,多彩配色观感上令人赏心悦目,质感上也拿捏的很准。该款电脑整体重量轻至 1.34kg,机身薄至 14.9m
易速达案例解析,深度揭秘网页推广优化评估的成功之路
深度解析网页推广优化评估,以易速达案例为例,阐述成功之道。通过精准关键词布局、优质内容创作、用户体验优化等策略,提升网站流量和率。易速达成功实现品牌知名度提升,实现业务快速增长。随着互联网技术的飞速发展,网页推广已成为企业
有学生手拉手跳楼事件,苏州的回应与社会反思_反馈记录和整理
摘要:关于苏州发生的学生手拉手跳楼事件,引发了社会的广ૢ
流程引擎规则引擎_规则引擎的优势
流程引擎规则引擎Following are some of the major advantages of a Rule Engine: 以下是规则引擎的一些主要优点: Rules are easier to understand for a business analyst or a new developer than a program written in Java or o
莆田百年前的生活老照片,从未公开,唤醒几代人的记忆……
看到一组老照片,内心瞬间充满感动,一缕淡淡的酸楚和温暖也油然而生,很是怀念。↓↓↓【传教士威廉查尔斯于1909-1934的记录】【挑石头】【射箭】【碾米】【碾米】【寺庙】相传天帝命文昌帝君掌天曹桂籍文昌之事。凡世间之乡举里选,大比
网信自动发货系统 淘宝自动发货源码
交易流程发货方式1、自动:在上方保障服务中标有自动发货的商品,拍下后,将会自动收到来自卖家的商品获取(下载)链接;2、手动:未标有自动发货的的商品,拍下后,卖家会收到邮件、短信提醒,也可通过QQ或订单中的电话联系对方。交易周期
温州SEO整站优化攻略,揭秘提升网站排名与用户体验的关键技巧
温州SEO整站优化,助力网站排名与用户体验双重提升。通过精准关键词布局、内容优化、技术优化等多维度策略,实现搜索引擎友好,提升用户粘性,助力企业实现网络营销目标。掌握SEO优化秘诀,让网站在竞争激烈的市场中脱颖而出。随着互联网的
相关文章
推荐文章
发表评论
0评