微信小程序项目如果要发布,请求数据需要https才可以,我这里教程就先写配置https吧,更多的配置有空再补)

需要准备:

  1. 云服务器(我装的CentOS,一开始我用的Ubuntu Server,因为没有界面,不方便我后续的操作,所以更换成Centos,啥时候有空再写一个Ubuntu版的,其实思路差不多,指令有所不同而已)
  2. 域名
  3. 证书
  4. Xshell工具(用来远程连接你的云服务器)
  5. Xftp工具(用来上传文件到你的云服务器)

默认以上都准备好了,下面进入正题

搭建步骤

安装NodeJS和NPM

curl --silent --location https://rpm.nodesource.com/setup_8.x | sudo bash -
yum install nodejs -y

安装完成后,使用下面的命令测试安装结果

node -v

编辑HTTP Server代码

创建工作目录

mkdir -p /data/release/weapp

进入目录

cd /data/release/weapp

创建 package.json

使用npm来创建,或者用常规创建文件的方式

npm init

用vim打开并编写该文件

{
    "name": "weapp",
    "version": "1.0.0"
}

保存退出

添加 Server 源码

在该工作目录创建app.js文件

vim编写app.js文件

(这里使用Express.js来监听8765端口)

// 引用 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}`);

运行HTTP服务

安装 PM2

npm install pm2 --global

安装Express

在/data/release/weapp目录下局部安装

cd /data/release/weapp
npm install express --save

启动服务

cd /data/release/weapp
pm2 start app.js

然后你可以在浏览器输:http://你的ip:8765试一试

搭建HTTPS服务

安装Nginx

安装

yum install nginx -y

启动

nginx

配置HTTPS反向代理

上传SSL证书

使用Xftp工具将你申请的证书的nginx目录下的crt和key两个文件上传到云服务器的/etc/nginx目录下

编辑配置文件

先自己在/etc/nginx/conf.d目录下创建ssl.conf文件

然后用vim来编辑这个文件(注意哦,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 -s reload

好了,你可以在浏览器输入https://你的域名  来进行测试

现在你的小程序可以使用https啦