实验介绍
OpenCart 是世界著名的开源电子商务系统,系统开发语言为 PHP。早期由英国人 Daniel Kerr 个人开发,项目托管在 GitHub。OpenCart 总部设在香港,GitHub 项目仍由 Daniel 及其团队领导维护。开发者项目非常活跃,版本更新升级很快。据 Alexa 网站流量统计显示, OpenCart 已成为世界主流的电子商务建站系统,该电商网站采用前端 Web+后端 DB 的软件架构。
本实验通过在华为云广州区域新建 OpenCart 电商网站,需要进行对应的云上架构设计。考虑到架构设计的高可用性,实验使用上海二区域构建跨 Region 主备的容灾环境,通过 DRS 数据复制服务进行数据库的主备容灾,并使用 Windows 测试主机进行主备容灾测试,当广州区域 EIP 无法正常访问时,业务流量切换到上海二区域,用户访问 OpenCart 电商网站不受影响;考虑到架构设计的可扩展性,前端 Web 云主机使用了 AS 进行弹性伸缩以应对电商网站的高峰流量,后端 RDS 云数据库使用了 DDM 进行横向扩展;考虑到架构设计的安全性以及成本问题,使用了安全组、网络 ACL、主机安全 HSS、漏洞扫描 VSS 保障整体架构的安全。
实验目的
理解云上架构设计各个云服务的使用。
掌握从可用性、可扩展、安全、性能、成本五个方面对云上架构进行设计。
实验组网介绍
输入以下命令行,安装 HTTP、PHP 以及 opencart 电商网站。
yum install -y httpd systemctl start httpd systemctl enable httpd rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm yum -y install php72w php72w-pdo php72w-mysqlnd php72w-opcache php72w-xml php72w-gd php72w-mcrypt php72w-devel php72w-intl php72w-mbstring php72w-bcmath php72w-json php72w-iconv systemctl restart httpd wget https://www.opencart.cn/download/12 unzip 12 cp upload/* /var/www/html/ -rf chmod -R 777 /var/www/html
部署:
ELB负载均衡+AS弹性伸缩组合
容灾站点IMS镜像,需要更新 Agent 配置为对应Region
rpm -e --nodeps hostguard wget --no-check-certificate 'https://hss-agent-sh02.obs.cn-east-2.myhuaweicloud.com/linux/HwAgentInstall_64.sh' && chmod +x HwAgentInstall_64.sh && ./HwAgentInstall_64.sh service hostguard status
然后修改容灾站点 opencart 配置文档对应ELB公网EIP
运行如下命令,编辑 opencart 应用的IP地址和 数据库mysql 配置文件参数
cd /var/www/html vim config.php 修改 php 文件中,HTTP 和 HTTPS 里的地址参数,替换为 ELB 的公网 IP 地址; 数据库DB相关参数需要替换成 RDS 的信息。
运行如下命令,修改 opencart 后台管理页面的配置文件。
cd admin/ vim config.php 修改 php 文件中,HTTP 和 HTTPS 里的地址参数,替换为 ELB 的公网 IP 地址; DB数据库相关参数需要替换成 RDS 的信息。