京东云云主机cvm云上网站经典架构搭建:

概述:

本实践演示了云上网站经典架构云上搭建最佳实践,涉及大部分基础云产品。

应用范围:

传统企业/零售/游戏行业单库单服系统上云。

产品介绍:

  • 京东云私有网络(Virtual Private Cloud,简称VPC),是您在京东公有云上自定义的逻辑隔离的网络空间,与您在数据中心搭建的传统网络类似,此私有网络空间由用户完全掌控,支持自定义网段划分、路由策略等。用户可以在VPC内创建和管理多种云产品,如云主机、负载均衡等,同时可配置网络内的资源连接Internet。另外,您可以通过VPN\专线接入,打通您的IDC内网和京东云网络,实现应用的混合云部署,以及将应用平滑地迁移至云上

  • 负载均衡(LB, Load Balancer)提供安全稳定、管理便捷的流量分发服务。访问流量经由 LB 可自动分发至多台服务器上,提高系统的可用性并扩展服务能力,消除单点故障。LB 可智能调整资源分配,提升利用率,轻松应对高并发的流量访问,满足大流量、复杂业务需求

  • 云主机(CVM,Cloud Virtual Machine)是一种管理便捷、安全稳定的弹性计算服务。您可实时、快速地创建多台云主机,并可根据业务需要随时扩展或缩减计算资源,按需付费,节约成本,帮助您更高效可靠的开展业务。

  • 云数据库 RDS 是京东云基于全球广受欢迎的 MySQL, Percona, MariaDB, SQL Server, PostgreSQL 数据库提供的稳定可靠的云数据库服务。相比传统数据库,云数据库 RDS 易于部署、管理和扩展,默认支持主从热备架构,提供数据备份、故障恢复、监控等全套解决方案,彻底解决数据库运维的烦恼。同时,京东云数据库 RDS 通过使用网络隔离、使用白名单限制外网访问等方式,为数据库服务提供了高级别的安全性需求。

  • 数据传输 DTS (Data Transmission Service),是京东云提供的实时数据流服务,可帮助您在业务不停服的前提下轻松完成数据库迁移上云,支持数据迁移、数据订阅、数据同步,可简单方便的满足数据上云、业务异步解耦、跨地域数据灾备等业务场景。

  • 对象存储(OSS,Object Storage Service)是京东云自研的存储海量数据的分布式存储服务,提供高可靠、低成本、强安全的云端数据存储。您可存储音视频、图文等非结构化的海量数据,无容量限制,无格式限制,管理高效便捷,存储成本智能优化,解决您在 CDN 内容分发、大数据、容灾备份等多种场景的数据存储问题。

应用场景:

概述:在创业型公司或阿米巴模式经营的公司,新项目发布初期存在较大的不确定性,既要考虑项目未来的扩展性,又要衡量项目的运营成本。本解决方案为客户提供低成本,敏捷快捷的最佳实践。

典型行业:传统企业、游戏和零售等行业。
适配场景:

  1. 系统可以按地域等规则拆解成一个个独立小系统单元化部署;

  2. 公司以项目为核心组建团队,项目核心系统的主要运维工作由开发兼任;

  3. 成本优先,数据打通、数据安全、容灾等需求滞后考虑(能接受数据丢失、系统部
    分不可用等情况)

技术架构

方案优势:

系统分级:核心系统通过多产品组合 LB+CVM+RDS 保障服务稳定可靠,分散业务节点在两个 AZ 实现跨区域容灾;业务节点单元化部署。

灵活:子系统可单元化形式把部分应用和数据库集中部署在一台 CVM 上,节省成本,各节点之间互不干扰,灵活增减业务节点。

静态内容通过 CDN 加速,CDN 通过私有 Bucket 回源,有效防止资源盗链。

前置条件:

  • 注册京东云云账号,并完成实名认证。您可以登录京东云控制台,

    并前往实名认证页面(https://realname.jdcloud.com/account/verify)查看是否完成实名认证。

  • 购买按量付费资源,京东云账户余额需要大于 100 元。您可以登录京东云控制台,

    前往账户总览页面(https://capital.jdcloud.com/cost/capital/capital-overview)查看账户余额。

  • 已 申 请 域 名 且 已 经 完 成 域 名 备 案 ( 申 请 ******.cn 域名, **.cn www..cn两个域名备案备用)。

  • 开通 CVM、OSS、CDN、云解析 DNS 等服务。

  • 本方案实践的资源规划仅作为实践演示,实际业务场景资源以用户实际需求为准。

  • 付费方式:为了便于演示默认按量付费。

资源规划:


网络资源规划:
资源类别配置项配置明细
区域区域:华北-北京
私有网络VPCVPC名字:
网段:
x_vpc
10.0.0.0/16
EIPEIP 名称:
支付方式:
公网带宽:
带宽:
EIP
后付费
按流量
1Mbps
SLBSLB 名:
支付方式:
可用区:
测试slb
后付费
华北-北京

弹性计算资源规划:

资源类别配置项配置明细
CVM(核心业
务系统,2 台)
可用区:
CVM 名:
支付方式:
实例规格:
镜像版本:
华北-北京(可用区A)
VM-01 VM-02
按量付费
g.n3.medium(1核4GB 通用 标准型) 通用型SSD云盘 (40GB)
CentOS 7.6 64位
CVM(区域服务器)可用区:
CVM 名:
支付方式:
实例规格:
镜像版本:
私有镜像名称:
华北-北京(可用区B)
VM-04
g.n3.medium(1核4GB 通用 标准型) 通用型SSD云盘 (40GB)
CentOS 7.6 64位
phpMyAdmin
OSS (对象存储)Bucket 名:
存储类型:
访问策略:
配置类:
oss-x.s3.cn-north-1.jdcloud-oss.com
标椎存储
公有读私有写
上传对象:/aa.webp
RDS(核心业
务系统)
实例名:
支付方式:
类型:
版本:
分类:
主节点可用:
备节点可用:
部署方案:
数据库账号:
端口:

mysql_x
按配置
主备
mysql5.7
可用区A
可用区B
多可用区部署
rds_admin
3306
CDN加速域名:
业务类型:
加速区域:
源站信息:
www.***.cn
图片小文件
中国内地
OSS:oss-x.s3.cn-north-1.jdcloud-oss.com
域名网 站/应用整体域名:
CDN使用域名:
.cn
www.
********.cn

创建部署资源:

一、创建CVM

创建Linux云主机,方法参考

二、配置CVM测试程序监听80端口

1.单击实例VM-01进行远程连接

2.通过WebTerminal登录,root权限登陆CentOS

3.执行下列命令,安装启动测试程序监听 80 端口,并创建当前访问服务器 hostname 信息 的 html 文 件
[root@VM-01 ~]# yum -y install httpd

4 .启动 httpd 服务,设置开机启动,并确定 80 端口被占用
[root@VM-01 ~]# systemctl start httpd
[root@VM-01 ~]# systemctl enable httpd
[root@VM-01 ~]# ss -tnl|grep 80

5 .创建当前访问服务器 hostname 信息的 html 文件,并验证文件写入正常
[root@VM-01 ~]# cat <<EOF > /var/www/html/local.html
> <html>
> hostname:`hostname`
> </html>
> EOF

[root@VM-01 ~]# cat /var/www/html/local.html
<html>
hostname:VM-01
</html>

6.重复步骤1-5 部署VM-02

三、创建LB实例,并把两台CVM:VM-01 VM-02加入服务器组

1.创建LB实例,方法参考

2.创建监听策略,方法参考

3.创建虚拟服务组,方法参考

4.创建转发后端服务,把虚拟服务器加入后端服务,方法参考

6.在负载均衡管理界面,复制LB的公网ip

7.在浏览器直接访问ip,出现一下界面,表示访问正常


0

8. 输入 http://IP 地址/local.html,查看响应本次请求的后端服务器(本例是 VM-01)

​ 由于会话保持机制,几次刷新都应该是同一后端服务器响应.


9.查看LB后端服务运行状态,注意由于健康检查规则限制实例健康状态显示会有延迟,健康状态异常参考

10.停止当前页面访问的服务器的 80 端口服务(本例为 VM-01,实际以测试情况为准),验证LB状态(验证结束后恢复启动 httpd 服务)

#停止httpd服务

[root@VM-01 ~]# systemctl stop httpd
[root@VM-01 ~]# ss -tnl |grep 80

#刷新页面发现服务正常,但是负载服务器已漂移为 VM-02:


#恢复httpd服务

[root@VM-01 ~]# systemctl restart httpd
[root@VM-01 ~]# ss -tnl |grep 80

四、创建配置云上 RDS 环境

1.创建数据库

2.创建用户
配置项说明
数据库账号rds_admin
账号类型普通账号
密码Rds1234


3.创建库,在创建数据库页面,参考下表,配置相关参数,并单击创建
配置项说明
数据库(DB)名称 appdbrds
支持字符集utf8mb4

4 .验证数据库(CVM内网测试访问RDS)

#记录内网地址及端口号

#使用WebTerminal登陆

#上传rpm包(可自行去mysql官网下载)

#yum安装mysql

yum -y install mysql-community-*

#mysql 登陆验证

命令格式:mysql -h域名 -P端口 -u用户名-p密码 。
域名:要访问的云数据库的域名,域名展示在云数据库的详情页面。
端口:链接端口号默认为3306,其中PostgreSQL默认端口是5432。
用户名:在创建数据库时的用户名。
密码:用户名对应的密码。

五、配置云上OSS和CDN环境

1.设置LB域名解析

#查看LB公网ip

#设置域名解析,通过京东云控制台登陆控制台.

#点击目标域名后面的解析

#说明:本步骤前提为已申请域名且已通过备案,本例已申请并备案域名备用。


#添加解析



#访问域名,验证解析成功


2.部署OSS环境上传测试图片

#新建一个oss空间

#上传文件

六、开启CDN加速

1.通过https://cdn-console.jdcloud.com/domain/list?curTab=list登陆CDN控制台

#添加域名选择OSS回源.https://docs.jdcloud.com/cn/cdn/getting-started

2.在云解析 DNS中添加cname记录

配置项说明
记录类型CNAME-将域名指向另外一个域名
主机记录在 CDN 控制台添加域时用到的加速域名的前缀(CDN
加速域名以 www.keepcloud.cn为例,那这里的主机记
录即为 www)
记录值在 CDN 控制台添加域名后得到的 CNAME 地址

3.验证cname配置生效

4.测试 OSS 对象通过 CDN 能被正常访问

#在浏览器输入CDN加速的域名加OSS图片路径

七、测试CDN加速效果

#在 VM-01 和 VM-02 服务器的/var/www/html/路径下创建 html 文件:test.html,通过 OSS 文件aa.webp 的临时 url 和 CDN 分别访问几次,查看对象载入速度。

1.登陆OSS控制台获取外链

2.登陆云主机控制台远程连接VM-01
 vim /var/www/html/test.html
 
 <html>
<img src="https://oss-x.s3.cn-north-1.jdcloud-oss.com/aa.webp" />
<img src="http://www.*****.cn/aa.webp" alt="CDN" />
</html>

3.重复步骤在VM-02中创建html文件
4.为了避免缓存影响,通过 chrome 流量器无痕模式并且打开调试(F12 快捷键开启)模式关闭缓存访问 http://******.cn/test.html,查看两个图片对象的载入时间

#第一次测试 CDN 需要回源取文件,两种方式耗时接近

#多次刷新网页后 CDN 方式耗时减少,实际使用中随着访问人数的增加,优势会更加明显

八、部署区域服务器

1.在CVM区服上部署应用和数据库

#通过VNC登陆连接

2.安装配置 MySQL5.6。
(1).创建安装目录

mkdir -p /opt/db
cd /opt/db/

(2).安装 MySQL 5.6
#下载资源包
[root@VM-03 pma]# wget http://repo.mysql.com/mysql-community-release-el6-5.noarch.rpm
#安装资源包
[root@VM-03 pma]# rpm -ivh mysql-community-release-el6-5.noarch.rpm

Preparing...                          ################################# [100%]
	package mysql-community-release-el6-5.noarch is already installed


#查看yum源能否看到mysql源
[root@VM-03 pma]# yum repolist all | grep mysql

!mysql-connectors-community/x86_64 MySQL Connectors Community    enabled:    178
mysql-connectors-community-source  MySQL Connectors Community -  disabled
!mysql-tools-community/x86_64      MySQL Tools Community         enabled:     83
mysql-tools-community-source       MySQL Tools Community - Sourc disabled
mysql55-community/x86_64           MySQL 5.5 Community Server    disabled
mysql55-community-source           MySQL 5.5 Community Server -  disabled
!mysql56-community/x86_64          MySQL 5.6 Community Server    enabled:    644
mysql56-community-source           MySQL 5.6 Community Server -  disabled
mysql57-community-dmr/x86_64       MySQL 5.7 Community Server De disabled
mysql57-community-dmr-source       MySQL 5.7 Community Server De disabled

#yum安装mysql
[root@VM-03 pma]# yum install mysql-community-server -y

(3).启动并初始化mysql
#启动mysql
[root@VM-03 pma]# service mysqld start

[root@VM-03 pma]# Starting mysqld (via systemctl):                           [  OK  ]

#初始化mysql
[root@VM-03 pma]# mysql_secure_installation

(4).root登陆本地mysql数据库
[root@VM-03 pma]# mysql -uroot -p

3.安装配置 phpMyAdmin
1.创建安装目录
[root@VM-03 pma]# mkdir -p /opt/pma
[root@VM-03 pma]# cd /opt/pma/

2.下载安装包
[root@VM-03 pma]# wget --no-check-certificate https://files.phpmyadmin.net/phpMyAdmin/4.8.5/phpMyAdmin-4.8.5-all-languages.zip

3.安装依赖包
[root@VM-03 pma]# yum install -y httpd php-mysql php

4.删除老程序包
[root@VM-03 pma]# yum list installed | grep php 
php.x86_64                     5.4.16-48.el7                  @base             
php-cli.x86_64                 5.4.16-48.el7                  @base             
php-common.x86_64              5.4.16-48.el7                  @base             
php-mysql.x86_64               5.4.16-48.el7                  @base             
php-pdo.x86_64                 5.4.16-48.el7                  @base 

#删除老安装包
[root@VM-03 pma]# yum remove -y php.x86_64 php-cli.x86_64 php-common.x86_64 php-gd.x86_64 php-ldap.x86_64  php-mbstring.x86_64 php-mcrypt.x86_64 php-mysql.x86_64 php-pdo.x86_64

Loaded plugins: fastestmirror
No Match for argument: php-gd.x86_64
No Match for argument: php-
Resolving Dependencies
--> Running transaction check
---> Package php.x86_64 0:5.4.16-48.el7 will be erased
---> Package php-cli.x86_64 0:5.4.16-48.el7 will be erased
.........
5.安装RPM包
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-ldap.x86_64 php56w-mbstring.x86_64 php56w-mcrypt.x86_64 php56w-mysql.x86_64 php56w-pdo.x86_64

6.安装 phpMyadmin
#安装解压软件(已安装跳过)
[root@VM-03 pma]# yum -y install unzip
#解压zip文件
[root@VM-03 pma]# unzip phpMyAdmin-4.8.5-all-languages.zip
#复制到指定目录
[root@VM-03 pma]# cp -a phpMyAdmin-4.8.5-all-languages /var/www/html/pma
#生成配置文件
[root@VM-03 pma]# cd /var/www/html/pma
[root@VM-03 pma]# cp config.sample.inc.php config.inc.php
#生成随机字符串备用
[root@VM-03 pma]# tr -d 'a-z0-9A-Z'</dev/urandom |head -30 |md5sum
8e4af9572c8036887cc4b350fc877568  -
#编辑配置文件,添加字符转
[root@VM-03 pma]# vim config.inc.php

#启动http服务
[root@VM-03 pma]# systemctl start httpd
#查看80端口监听
[root@VM-03 pma]# ss -tnl |grep 80
LISTEN     0      80          :::3306                    :::*                  
LISTEN     0      128         :::80                      :::*  
7.验证数据库管理功能

#登陆控制台记住VM-03公网ip

#打开浏览器输入 ip/pma(访问失败在控制台检查下服务对应端口开没开)



8.制作程序镜像,开新区服

#登陆控制台,找到刚才的云主机



#等待镜像创建完成(过程较慢,需等待一段时间)

#开新服务器

#选择创建的镜像,依次创建

#在确认订单页面,确认各项参数信息。确认无误,阅读、同意并确认开通

#进入控制台,点击远程连接

#启动 MySQL 和 httpd 服务验证服务正常启动

#记录公网ip,浏览器访问

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值