赞
踩
任务时间:20min ~ 40min
小程序后台服务需要通过 HTTPS 访问,在实验开始之前,我们要准备域名和 SSL 证书。
如果您还没有域名,可以在腾讯云上选购,过程可以参考下面的视频:
- 视频 - 在腾讯云上购买域名
域名购买完成后, 需要将域名解析到实验云主机上,实验云主机的 IP 为:
<您的 CVM IP 地址>
在腾讯云购买的域名,可以到控制台添加解析记录,过程可参考下面的视频:
域名设置解析后需要过一段时间才会生效,通过 ping
命令检查域名是否生效 [?]
,如:
ping www.yourmpdomain.com
如果 ping 命令返回的信息中含有你设置的解析的 IP 地址,说明解析成功。
注意替换下面命令中的 www.yourmpdomain.com为您自己的注册的域名
腾讯云提供了 SSL 证书的免费申请,申请方式可参考下面视频:
- 视频 - 在腾讯云上申请 SSL 证书
申请提交后,审批结果会以短信的形式通知。审批通过后,可以到 SSL 控制台下载您的证书文件,可参考下面的视频:
- 视频 - 在腾讯云上下载 SSL 证书
任务时间:15min ~ 30min
在开始搭建我们的小程序服务器之前,需要先完成客户端小程序开发环境的搭建。
如果你还不是小程序开发者,请先在微信公众平台并注册:
具体注册流程可参考如下视频:
若您已注册,请点击下一步。
登录微信公众平台后,依次进入 设置- 开发设置- 服务器域名 - 修改。
扫码完成身份校验后,request 合法域名和 socket 合法域名均填写在上一步准备好的域名地址。
配置完成后,点击 保存并提交
。您可以点击如下视频查看如何进行配置:
要运行本实验配套的小程序代码,请下载下列资源:
- 实验配套源码
- 微信小程序开发工具
源码下载后,请解压到本地工作目录。
开发工具下载后,请安装并启动,然后用微信扫码登录。
登录后,选择 本地小程序项目- 添加项目,使用以下配置:
- AppID:填写小程序的 AppID,请登录公众平台后在 设置- 开发设置 - 开发者 ID 中查看
- 项目名称:填写任意您喜欢的名称
- 项目目录:选择刚才解压的配套源码目录(目录包含 app.js)
填写完成后,点击 添加项目。具体操作可查看如下视频:
在开发工具的 编辑
面板中,选中 app.js进行编辑,需要修改小程序通信域名[?]
,请参考下面的配置:
App({
config: {
host: 'www.yourdomain.com' // 这个地方填写你的域名
},
onLaunch () {
console.log('App.onLaunch()');
}
});
当然,这步操作也录制了对应的视频:
- 视频 - 设置实验域名
实验配套源码所用通信域名都会使用该设置,为了您顺利进行实验,请把域名修改为之前步骤准备的域名
任务时间:15min ~ 30min
下面的步骤,将带大家在服务器上使用 Node 和 Express 搭建一个 HTTP 服务器
使用下面的命令安装 NodeJS
sudo apt-get update
sudo wget https://mc.qcloudimg.com/static/archive/262420521a966befe17dfa0070ddb272/node-v6.11.0.tar.gz
sudo tar xvf node-v6.11.0.tar.gz
cd node-v6.11.0
sudo ./configure
sudo make
sudo make install
sudo cp /usr/local/bin/node /usr/sbin/
安装完成后,使用下面的命令测试安装结果
node -v
编写 HTTP Server 源码
使用下面的命令在服务器创建一个工作目录:
sudo mkdir -p /data/release/webapp
进入此工作目录
cd /data/release/webapp
在工作目录创建 package.json 文件,并修改文件的访问权限。
sudo touch package.jsonsudo chmod a+r+w package.json
修改 package.json 添加我们服务器包的名称和版本号,可参考下面的示例。
示例代码:/data/release/webapp/package.json
{
"name": "webapp",
"version": "1.0.0"
}
完成后,使用 Ctrl + S
保存文件
在工作目录创建 app.js
cd /data/release/webapp
sudo touch app.js
sudo chmod a+rw app.js
修改 app.js 文件,使用 Express.js 来监听 8765端口,app.js文件可参考下面的示例代码。
示例代码:/data/release/webapp/app.js
// 引用 express 来支持 HTTP Server 的实现
const express = require('express');
// 创建一个 express 实例
const app = express();
// 实现唯一的一个中间件,对于所有请求,都输出 "Response from express"
app.use((request, response, next) => {
response.write('Response from express');
response.end();
});
// 监听端口,等待连接
const port = 8765;
app.listen(port);
// 输出服务器启动日志
console.log(`Server listening at http://127.0.0.1:${port}`);
本实验会以 8765 端口的打开作为实验步骤完成的依据,为了后面的实验步骤顺利进行,请不要使用其它端口号
在开始之前,我们先来安装 [PM2]
sudo apt-get install npmsudo npm install -g pm2
PM2 安装时间可能稍长,请耐心等候 [?]
我们的服务器源码里使用到了 Express 模块,下面的命令使用 NPM 来安装 Express
cd /data/release/webappsudo
npm install express --save
安装完成后,使用 PM2 来启动 HTTP 服务
cd /data/release/webapppm2 start app.js
现在,您的 HTTP 服务已经在 http://<您的 CVM IP 地址>:8765 运行
要查看服务输出的日志,可以使用下面的命令:
pm2 logs
如果要重启服务,可以使用下面的命令:
pm2 restart app
我们使用 PM2 来进行 Node 进程的运行、监控和管理
NPM 仓库在国内访问速度可能不太理想,如果实在太慢可以尝试使用 CNPM 的 Registry 进行安装:npm install pm2 -g –registry=https://r.cnpmjs.org/
任务时间:15min ~ 30min
微信小程序要求和服务器的通信都通过 HTTPS 进行
安装 Nginx
在 Ubuntu 上,可直接使用 apt-get
来安装 Nginx
sudo apt-get install nginx -y
安装完成后,使用 nginx
命令启动 Nginx:
sudo /etc/init.d/nginx start
此时访问 http://<您的域名> 可以看到 Nginx 测试页面 [?]
如果你的机器同时安装了其他软件占用80端口,那上面的访问方式就不能使用了,而且 Nginx 都可能启动不了,你需要关闭该软件再重新启动 Nginx。
修改 /etc/nginx 目录的读写权限
sudo chmod a+rw /etc/nginx
将之前下载的 SSL 证书(解压后 Nginx 目录分别以 crt 和 key 作为后缀的文件)通过拖动到左侧文件浏览器 /etc/nginx 目录
的方式来上传文件到服务器上。
如何上传 SSL 证书到 /etc/nginx 目录
在 /etc/nginx/conf.d 目录创建 ssl.conf 文件
cd /etc/nginx/conf.d
sudo touch ssl.conf
sudo chmod a+rw ssl.conf
将 ssl.conf 文件修改为如下内容
示例代码:/etc/nginx/conf.d/ssl.conf
server {
listen 443;
server_name www.example.com; # 改为绑定证书的域名
# ssl 配置
ssl on;
ssl_certificate 1_www.example.com_bundle.crt; # 改为自己申请得到的 crt 文件的名称
ssl_certificate_key 2_www.example.com.key; # 改为自己申请得到的 key 文件的名称
ssl_session_timeout 5m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
ssl_prefer_server_ciphers on;
location / {
proxy_pass http://127.0.0.1:8765;
}
}
按 Ctrl + S
保存配置文件,让 Nginx 重新加载配置使其生效:
sudo nginx -s reload
在浏览器通过 https 的方式访问你解析的域名来测试 HTTPS 是否成功启动
打开配套的小程序,点击 实验一:HTTPS,点击 发送请求来测试访问结果。
如果服务器响应成功,请点击下一步。
任务时间:45min ~ 90min
小程序不支持 Cookie 存储和跟踪,服务器需要自行实现会话层
安装 MongoDB
使用 apt-get 在机器上安装 [MongoDB]
及其客户端命令行工具:
sudo apt-get install mongodb-server mongodb -y
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。