准备域名和证书
域名解析
域名购买完成后, 需要将域名解析到实验云主机上
# ping wx.abcgogo.com -c 4
PING wx.abcgogo.com (203.195.219.131) 56(84) bytes of data.
64 bytes from 203.195.219.131: icmp_seq=1 ttl=63 time=3.48 ms
64 bytes from 203.195.219.131: icmp_seq=2 ttl=63 time=3.42 ms
64 bytes from 203.195.219.131: icmp_seq=3 ttl=63 time=3.44 ms
64 bytes from 203.195.219.131: icmp_seq=4 ttl=63 time=3.43 ms
--- wx.abcgogo.com ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3002ms
rtt min/avg/max/mdev = 3.421/3.445/3.488/0.048 ms
- 注册开发者账号
如果你还不是小程序开发者,请先在微信公众平台并注册:
配置小程序服务器信息
登录微信公众平台后,依次进入 设置
- 开发设置
- 服务器域名
- 修改
。
扫码完成身份校验后,request 合法域名和 socket 合法域名均填写在上一步准备好的域名地址。
配置完成后,点击 保存并提交
。您可以点击如下视频查看如何进行配置:
要运行本实验配套的小程序代码,请下载下列资源:
- 实验配套源码
- 微信小程序开发工具
下载后,请解压到本地工作目录。
开发工具下载后,请安装并启动,然后用微信扫码登录。
登录后,选择 本地小程序项目
- 添加项目
,使用以下配置:
- AppID:填写小程序的 AppID,请登录公众平台后在
设置
-开发设置
-开发者 ID
中查看 - 项目名称:填写任意您喜欢的名称
- 项目目录:选择刚才解压的配套源码目录(目录包含
app.js
)
填写完成后,点击 添加项目
设置实验域名
在开发工具的 编辑
面板中,选中 app.js
进行编辑,需要修改小程序通信域名
,请参考下面的配置:
App({
config: {
host: '' // 这个地方填写你的域名
},
onLaunch () {
console.log('App.onLaunch()');
}
});
搭建 HTTP 服务
下面的步骤,将带大家在服务器上使用 Node 和 Express 搭建一个 HTTP 服务器
-
安装 NodeJS 和 NPM
使用下面的命令安装 NodeJS 和 NPM
curl --silent --location https://rpm.nodesource.com/setup_8.x | sudo bash - yum install nodejs -y
安装完成后,使用下面的命令测试安装结果
node -v
[root@VM_144_54_centos ~]# curl --silent --location https://rpm.nodesource.com/setup_8.x | sudo bash -
## Installing the NodeSource Node.js 8.x LTS Carbon repo...
## Inspecting system...
+ rpm -q --whatprovides redhat-release || rpm -q --whatprovides centos-release || rpm -q --whatprovides cloudlinux-release || rpm -q --whatprovides sl-release
+ uname -m
## Confirming "el7-x86_64" is supported...
+ curl -sLf -o /dev/null 'https://rpm.nodesource.com/pub_8.x/el/7/x86_64/nodesource-release-el7-1.noarch.rpm'
## Downloading release setup RPM...
+ mktemp
+ curl -sL -o '/tmp/tmp.rZERimI62Z' 'https://rpm.nodesource.com/pub_8.x/el/7/x86_64/nodesource-release-el7-1.noarch.rpm'
## Installing release setup RPM...
+ rpm -i --nosignature --force '/tmp/tmp.rZERimI62Z'
## Cleaning up...
+ rm -f '/tmp/tmp.rZERimI62Z'
## Checking for existing installations...
+ rpm -qa 'node|npm' | grep -v nodesource
## Run `sudo yum install -y nodejs` to install Node.js 8.x LTS Carbon and npm.
## You may also need development tools to build native addons:
sudo yum install gcc-c++ make
## To install the Yarn package manager, run:
curl -sL https://dl.yarnpkg.com/rpm/yarn.repo | sudo tee /etc/yum.repos.d/yarn.repo
sudo yum install yarn
[root@VM_144_54_centos ~]# yum install nodejs -y
Loaded plugins: fastestmirror, langpacks
epel | 4.7 kB 00:00
extras | 3.4 kB 00:00
nodesource | 2.5 kB 00:00
os | 3.6 kB 00:00
updates | 3.4 kB 00:00
(1/8): epel/7/x86_64/group_gz | 88 kB 00:00
(2/8): epel/7/x86_64/updateinfo | 1.0 MB 00:00
(3/8): os/7/x86_64/group_gz | 166 kB 00:00
(4/8): extras/7/x86_64/primary_db | 187 kB 00:00
(5/8): os/7/x86_64/primary_db | 6.0 MB 00:00
(6/8): epel/7/x86_64/primary_db | 6.6 MB 00:00
(7/8): updates/7/x86_64/primary_db | 3.4 MB 00:00
(8/8): nodesource/x86_64/primary_db | 45 kB 00:00
Determining fastest mirrors
Resolving Dependencies
--> Running transaction check
---> Package nodejs.x86_64 2:8.15.1-1nodesource will be installed
--> Finished Dependency Resolution
Dependencies Resolved
===============================================================================
Package Arch Version Repository Size
===============================================================================
Installing:
nodejs x86_64 2:8.15.1-1nodesource nodesource 16 M
Transaction Summary
===============================================================================
Install 1 Package
Total download size: 16 M
Installed size: 49 M
Downloading packages:
warning: /var/cache/yum/x86_64/7/nodesource/packages/nodejs-8.15.1-1nodesource.x86_64.rpm: Header V4 RSA/SHA512 Signature, key ID 34fa74dd: NOKEY
Public key for nodejs-8.15.1-1nodesource.x86_64.rpm is not installed
nodejs-8.15.1-1nodesource.x86_64.rpm | 16 MB 00:01
Retrieving key from file:///etc/pki/rpm-gpg/NODESOURCE-GPG-SIGNING-KEY-EL
Importing GPG key 0x34FA74DD:
Userid : "NodeSource <gpg-rpm@nodesource.com>"
Fingerprint: 2e55 207a 95d9 944b 0cc9 3261 5ddb e8d4 34fa 74dd
Package : nodesource-release-el7-1.noarch (installed)
From : /etc/pki/rpm-gpg/NODESOURCE-GPG-SIGNING-KEY-EL
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Warning: RPMDB altered outside of yum.
Installing : 2:nodejs-8.15.1-1nodesource.x86_64 1/1
Verifying : 2:nodejs-8.15.1-1nodesource.x86_64 1/1
Installed:
nodejs.x86_64 2:8.15.1-1nodesource
Complete!
[root@VM_144_54_centos ~]# node -v
v8.15.1
编写 HTTP Server 源码
创建工作目录
使用下面的命令在服务器创建一个工作目录:
mkdir -p /data/release/weapp
进入此工作目录
cd /data/release/weapp
创建 package.json
在刚才创建的工作目录创建 package.json,添加我们服务器包的名称和版本号,可参考下面的示例。
package.json
{
"name": "weapp",
"version": "1.0.0"
}
完成后 保存文件
添加 Server 源码
在工作目录创建 app.js,使用 Express.js 来监听 8765
端口,可参考下面的示例代码。
app.js
// 引用 express 来支持 HTTP Server 的实现
const express = require('express');
// 创建一个 express 实例
const app = express();
// 实现唯一的一个中间件,对于所有请求ÿ