典型网站类场景
场景以WordPress网站高可用场景为例,在不同可用区部署前端云主机,并通过弹性负载均衡实例分摊业务流量,同时后端数据分离到关系数据库。
资源参数
产品 | 配置 | 可用区 |
---|---|---|
虚拟私有云 | VpcforWebsite | VPC网段192.168.0.0/16,子网192.168.1.0/24 |
弹性云主机 | 2*s7.large.4(2核8G);CentOS 7.6 | 分别位于可用区1,可用区2 |
关系型数据库MySQL | 主从4核8G;MySQL 5.7;超高IO | - |
弹性负载均衡 | SLBforWebsite | - |
弹性IP | 5M带宽 | - |
网站拓扑
操作步骤
-
进入控制中心,“网络”>“虚拟私有云”,点击创建虚拟私有云,VPC网段设置为192.168.0.0/16,子网网段设置为192.168.0.0/24。
-
进入控制中心,“计算”>“弹性云主机”,点击创建云主机ECS1,云主机规格选择s7.large.4,操作系统设置为CentOS 7.6,VPC和子网选择步骤1所创建的VPC和子网。
-
进入控制中心,“网络”>“弹性IP”,点击创建弹性IP。
-
在云主机控制台或弹性IP控制台将弹性IP绑定至ECS1。
-
使用控制台的远程登录功能,登录进入ECS1,部署WordPress。
1)执行如下命令,安装 Apache 和 PHP 组件:# 安装 Apache 和 PHP 组件 yum install -y httpd php php-mysql php-gd php-imap php-ldap php-odbc php- pear php-xml php-xmlrpc # 启动 Apache 服务 service httpd start # 设置开机默认启动 Apache sudo chkconfig httpd on
2)执行如下命令,创建 info.php 文件,验证php是否安装成功。
vim /var/www/html/info.php
3)执行如下命令,重启 httpd 服务。
service httpd restart
4)用可以访问公网的任何节点,访问http://弹性IP/info.php,可见运行成功,(请确保PHP所使用的端口,已在云主机所在安全组中放行)。
5)执行如下命令,卸载当前版本PHP,安装高版本PHP。
yum list installed | grep php | awk ‘{print $1}’ | xargs yum remove -y rpm -Uvh https://mirror.webtatic.com/yum/el7/epel-release.rpm rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm yum install -y php56w.x86_64 php56w-cli.x86_64 php56w-common.x86_64 php56w-gd.x86_64 php56w-imap.x86_64 php56w-ldap.x86_64 php56w- mysql.x86_64 php56w-pdo.x86_64 php56w-odbc.x86_64 php56w- process.x86_64 php56w-xml.x86_64 php56w-xmlrpc.x86_64
6)执行如下命令,重启httpd服务。
systemctl restart httpd
7)执行如下命令,下载并解压WordPress软件包。
mkdir -p /opt/WP cd /opt/WP wget https://cn.wordpress.org/latest-zh_CN.tar.gz tar -xzvf latest-zh_CN.tar.gz
8)拷贝wordpress 目录到/var/www/html/路径下,执行如下命令。
cd /var/www/html cp -rf /opt/WP/wordpress/* /var/www/html/
9)进入控制中心,“数据库”>“关系数据库MySQL版”,创建MySQL数据库实例。
10)ECS1中安装mysql客户端,用于创建和访问MySQL数据库实例。
yum install mysql
11)连接MySQL数据库,创建数据库实例。
mysql -h<IP> -P<HOST> -u<user> -p<password> create database <databasename> charset utf8
12)ECS1中修改wordpress访问数据库配置。
cd /var/www/html/ vim wp-config.php
修改配置内容参考下面配置:
########### // ** MySQL 设置 - 具体信息来自您正在使用的主机 ** // /** WordPress 数据库的名称 */ define('DB_NAME', 'db_wordpress'); /** MySQL 数据库用户名 */ define('DB_USER', 'user_wordpress'); /** MySQL 数据库密码 */ define('DB_PASSWORD', 'Hello1234'); /** MySQL 主机 */ define('DB_HOST', '<RDS 实例内网地址,不含端口号>'); /** 创建数据表时默认的文字编码 */ define('DB_CHARSET', 'utf8'); /** 数据库整理类型。如不确定请勿更改 */ define('DB_COLLATE', ''); ###########
-
打开浏览器输入http://弹性IP:端口/wp-admin/install.php,访问WordPress站点。
-
参考步骤5,申请ECS2并完成相应配置。配置ECS2的过程,可重复利用弹性IP,挂载给ECS2。
-
进入控制中心,“网络”>“弹性负载均衡”,创建弹性负载均衡,并绑定申请的弹性IP。使用弹性负载均衡后,弹性IP将会从云主机上卸载下并关联到弹性负载均衡上。
-
执行以下命令,使用ab压测网站,并关闭其中ECS,出现一定概率访问失败的现象。
ab. -n 10 -c 10 -t 30 -C 'cookies=xxx' -v 3 http://IP/wp-admin