一.使用 Node 和 Express 搭建一个 HTTP 服务器
1.在app.js修改小程序通信域名
App({ config: { host: '' // 这个地方填写你的域名 }, onLaunch () { console.log('App.onLaunch()'); }});
2.安装 NodeJS 和 NPM
yum install nodejs npm -ynode -v
3.编写HTTP服务源码
touch package.json#文件内容{ "name": "weapp", "version": "1.0.0"}
touch 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}`);
4.运行 HTTP 服务
安装 PM2
npm install pm2 --global
注:PM 仓库在国内访问速度可能不太理想,如果实在太慢可以尝试使用 CNPM 的 Registry 进行安装:npm install pm2 -g --registry=https://r.cnpmjs.org/
安装 Express
npm install express --save
服务管理
启动服务pm2 start app.js#查看服务输出的日志pm2 logs#重启服务pm2 restart app
二.利用nginx和SSL证书搭建HTTPS服务
1.安装与启动
#安装yum install nginx -y#启动nginx
2.配置HTTPS
外网用户访问服务器的 Web 服务由 Nginx 提供,Nginx 需要配置反向代理才能使得 Web 服务转发到本地的 Node 服务。
上传证书nginx
#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; } }#nginx重新加载配置文件nginx -s reload