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

业务服务器镜像(Java):镜像地址、镜像说明

业务服务器镜像(PHP):镜像地址、镜像说明

业务服务器镜像(C#):镜像地址、镜像说明

业务服务器镜像(Node):镜像地址、镜像说明

会话服务器镜像(Session Server / PHP):镜像地址、镜像说明

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

608feec42a7d742916c861960884d95c.png

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

两个 CVM 实例(业务服务器 + 会话管理服务器)

一个高 IO MySQL 实例

注意

对于新创建的所有资源,其所属地域、可用区和所属项目需保持一致。

BGP 高防和云监控服务在购买 CVM 时可选择免费开通。

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

搭建会话管理服务器

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

搭建业务服务器

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

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

aed08d968314ed9f7c7327be603cc573.png

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

1db4c26149a703d1bfcec2e51d82761c.png

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

1c869e97f5984b23ef82079646f11859.png

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

9e0b3c67b464b3f4ba2bd2c93ec1f0cc.png

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

94ccf79b44fa05ac139261951b2b14fb.png

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

申请域名、SSL 证书

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

购买和配置负载均衡

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

2b2a69c69d90946b7842a9b2981adae0.png

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

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

17f4d05bf99de991d6aa2bc0436b9bbd.png

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

9f8b5c5cf2b78e1cd51f309da8c6a2f8.png

选中基本信息选项卡。

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

0a14f9822bc73888bc3bee0313c3f78a.png

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

018a28d9b6b07d3ae44f15b201bd1028.png

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

名称 填写合法的名称即可

监听协议端口 选择HTTPS:443

后端端口 填写80(因为业务服务器安装的镜像自带的 Demo 监听 80 端口)

SSL解析方式 选择单向认证(推荐)

服务器证书 选择之前申请好的 SSL 证书

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

7de64de397a60448531ef244100b7075.png

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

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

ad7ed23bcc0e5a4529361a4a666773a0.png

配置云解析

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

44cf31cc80575006599fd442791816ce.png

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

方法一:添加 A 记录

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

记录类型 选择 A 类型

主机记录 根据 tips 提示填写适合自己的域名前缀

线路类型 选择默认即可

关联云资源 选择否

记录值 填写上述负载均衡基本信息的 VIP 值

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

4cfd562d88d07a7a698aa44ed0108226.png

方法二:添加 CNAME 记录

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

记录类型 选择 CNAME 类型

记录值 填写上述负载均衡基本信息的 域名 值

9c3434071e4bfa8a28855910b578b672.png

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

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

228f39f24c02961235b004d33dbea8df.png

然后做如下修改:

将 serverHost 修改为云解析步骤中自己设置的域名。

将 authServerUrl 的 hostname 部分修改为会话管理服务器的内网 IP。

tunnelServerUrl 是信道服务的通信地址,无须更改。

tunnelSignatureKey 是业务服务器和信道服务器通信的签名密钥,可随意修改为一份随机字符。

networkTimeout 是网络请求超时时长,默认值为 30,000 毫秒(即 30 秒),保持默认值即可。

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

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

PHP 版在修改配置后即时生效,无须重启

C#:在 IIS 中找到 Demo 对应的网站,执行重启即可

Java:执行 systemctl restart tomcat

Node.js:执行 pm2 restart weapp

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

15dba5127ac0bf6e2b3994471adb07a7.png

运行小程序客户端示例

自动部署

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

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐