典型网站类场景
场景以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带宽 | - |
网站拓扑
操作步骤
1. 进入控制中心,“网络”>“虚拟私有云”,点击创建虚拟私有云,VPC网段设置为192.168.0.0/16,子网网段设置为192.168.0.0/24。
2. 进入控制中心,“计算”>“弹性云主机”,点击创建云主机ECS1,云主机规格选择s7.large.4,操作系统设置为CentOS 7.6,VPC和子网选择步骤1所创建的VPC和子网。
3. 进入控制中心,“网络”>“弹性IP”,点击创建弹性IP。
4. 在云主机控制台或弹性IP控制台将弹性IP绑定至ECS1。
5. 使用控制台的远程登录功能,登录进入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 -yrpm -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', '');###########
6. 打开浏览器输入http://弹性IP:端口/wp-admin/install.php,访问WordPress站点
7. 参考步骤5,申请ECS2并完成相应配置。配置ECS2的过程,可重复利用弹性IP,挂载给ECS2。
8. 进入控制中心,“网络”>“弹性负载均衡”,创建弹性负载均衡,并绑定申请的弹性IP。使用弹性负载均衡后,弹性IP将会从云主机上卸载下并关联到弹性负载均衡上。
9. 执行以下命令,使用ab压测网站,并关闭其中ECS,出现一定概率访问失败的现象。
ab. -n 10 -c 10 -t 30 -C 'cookies=xxx' -v 3 http://IP/wp-admin