Skip to content

镜像部署

techirdliu edited this page Jan 23, 2017 · 5 revisions

Wafer 的业务服务器、会话服务器运行的环境和 Demo 都在腾讯云服务市场提供镜像。包括:

我们可以从整体架构图着手如何通过上述镜像自行搭建 Wafer 服务。

一站式解决方案架构图

从上图可以看到,我们需要准备以下资源和服务:

注意

  • 对于新创建的所有资源,其所属地域、可用区和所属项目需保持一致。
  • BGP 高防和云监控服务在购买 CVM 时可选择免费开通。

以下简要说明如何购买和配置小程序所需要的资源和服务。

搭建会话管理服务器

详见快速搭建会话管理服务器(包括 MySQL 的配置和初始化)。

搭建业务服务器

访问云服务器 CVM 购买页,按需选择自己所需的配置,但有以下例外。

在第 1 步「选择地域与机型」选项卡中,地域请选择广州、上海或北京。

选择地域

在第 2 步「选择镜像」选项卡中,从服务市场中选择已制作好的镜像。

从服务市场中选择镜像

在打开的弹框中,选择 [基础环境],然后通过关键字 SDK 即可搜索到结果。目前提供有 PHP、C#、Java、Node.js 四个语言环境的版本。

搜索选择镜像

在第 3 步「选择存储与网络」选项卡中,勾选分配免费公网IP。

勾选分配公网 IP

在第 4 步「设置信息」选项卡中,云安全云监控可以选择免费开通(推荐)。

开通云安全和云监控

最后,点击「立即购买」按钮进行支付,然后等待资源分配完成。

申请域名、SSL 证书

腾讯云提供域名注册SSL 证书申请服务,可以前往对应链接地址申请。

购买和配置负载均衡

访问负载均衡 CLB 购买页购买 CLB。注意实例类型必须选择公网固定 IP,因为只有这种类型支持 HTTPS 协议转发。

实例类型选择公网固定IP

负载均衡购买完成后,前往负载均衡控制台页面。

点击侧边栏证书管理按钮进入证书管理页面,在右侧列表中应该能够看到之前申请好的 SSL 证书。

证书管理

点击侧边栏 LB 实例列表按钮进入 LB实例列表页面,在右侧列表中应该能够看到已购买的负载均衡实例。点击负载均衡实例 ID,进入实例详情页。

LB 实例列表

选中基本信息选项卡。

基本信息一栏中,我们可以看到里面有 域名VIP 两个属性,后面配置云解析需要用到它们。

LB 基本信息

监听器一栏中,点击新建按钮打开创建监听器弹框。

新建监听器

第一步,在基本配置中做如下设置:

  • 名称 填写合法的名称即可
  • 监听协议端口 选择HTTPS:443
  • 后端端口 填写80(因为业务服务器安装的镜像自带的 Demo 监听 80 端口)
  • SSL解析方式 选择单向认证(推荐)
  • 服务器证书 选择之前申请好的 SSL 证书

如果你的业务服务器不是使用腾讯云镜像安装的,请注意部署的监听端口是否和 LB 指向的后端端口一致。比如 Node Demo 的默认端口是 5757 而不是 80

创建监听器

点击下一步,高级配置健康检查保持默认设置即可,也可以根据自己需要进行设置。最后,点击完成按钮,完成监听器的创建。

绑定云主机一栏中,点击绑定云主机按钮。在弹出的新增关联云服务器弹框中,选择之前购买的业务服务器即可。

绑定云主机

配置云解析

前往云解析控制台页面,点击之前已申请好的域名,进入域名配置详情页。

域名列表

在详情页记录管理选项卡中,通过添加记录,我们可以让域名、负载均衡、SSL 证书关联起来。从以下两种方法中,选择其中一种即可。

方法一:添加 A 记录

在打开的添加记录弹框中:

  • 记录类型 选择 A 类型
  • 主机记录 根据 tips 提示填写适合自己的域名前缀
  • 线路类型 选择默认即可
  • 关联云资源 选择否
  • 记录值 填写上述负载均衡基本信息的 VIP

点击确定按钮完成记录添加,稍等片刻即可生效。

添加 A 记录

方法二:添加 CNAME 记录

添加 CNAME 记录和添加 A 记录类似,唯一的区别如下:

  • 记录类型 选择 CNAME 类型
  • 记录值 填写上述负载均衡基本信息的 域名

添加 CNAME 记录

修改业务服务器 SDK 配置文件

登录业务服务器,打开 sdk.config 配置文件(CentOS 在 /etc/qcloud 目录下,Windows Server 在 C:\qcloud\ 目录下)。

SDK 配置

然后做如下修改:

  • serverHost 修改为云解析步骤中自己设置的域名。
  • authServerUrlhostname 部分修改为会话管理服务器的内网 IP。
  • tunnelServerUrl 是信道服务的通信地址,无须更改。
  • tunnelSignatureKey 是业务服务器和信道服务器通信的签名密钥,可随意修改为一份随机字符。
  • networkTimeout 是网络请求超时时长,默认值为 30,000 毫秒(即 30 秒),保持默认值即可。

服务端 SDK 配置详细说明可参考服务端 SDK 配置

最后,重启服务(不同语言版本重启方式各不相同):

  • PHP 版在修改配置后即时生效,无须重启
  • C#:在 IIS 中找到 Demo 对应的网站,执行重启即可
  • Java:执行 systemctl restart tomcat
  • Node.js:执行 pm2 restart weapp

完成以上配置后,根据自己配置的主机记录具体情况,应能正常通过 HTTPS 方式访问业务服务器运行的 Demo 示例了,如下所示。

Demo 示例

运行小程序客户端示例

参见小程序客户端示例

自动部署

觉得上面的部署太繁琐了?可以参考自动部署方案。