1.准备工作

域名

注:后续公众平台配置URL的时候会用到,没有域名的话,可以去阿里云或者腾讯云注册域名。

微信订阅号

服务器

注:这里服务器系统使用的是Cent OS 7.5 64位,没有服务器的可以去阿里云或者腾讯云选购。

>

2.搭建后台服务

安装 NodeJS 和 NPM

安装命令

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

安装完成后检查是否安装完成
正常情况下这里会返回当前node版本

node -v
v8.15.1

创建目录

mkdir -p /data/weapp

进入创建的目录,新建文件package.json

cat>>package.json

示例代码:

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

注意:name为服务包名 version为版本号


创建app.js

cat>>app.json

示例代码:

//引用 express 来支持 HTTP Server 的实现
const express = require('express');

//引用微信公共平台自动回复消息接口服务中间件
var wechat = require('wechat');

//创建一个 express 实例
const app = express();

//配置微信公众平台参数
var config = {
    token: 'your token', //公众号token
    appid: 'your appid', //公众号appid
    encodingAESKey: 'your encodingAESKey', //公众号encodingAESKey
    checkSignature: true // 可选,默认为true。由于微信公众平台接口调试工具在明文模式下不发送签名,所以如要使用该测试工具,请将其设置为false 
};

app.use(express.query());

app.use('/', wechat(config, function (req, res, next) {
    res.reply({
        content: '你好,https://shuibo.cn',
        type: 'text'
    });
}));

// 监听端口,等待连接
const port = 5050;
app.listen(port);

// 输出服务器启动日志
console.log(`Server listening at http://127.0.0.1:${port}`);

appid:登录公众平台,开发 – 配置 – AppID
token、encodingAESKey:基本配置 – 服务器配置 – 修改配置
URL:填写自己的域名 示例:www.shuibo.cn
Token: 根据提示自定义
EncodingAESKey: 点击随机按钮来生成

##### 填好信息先不要点提交,不要关网页!!!

3.搭建后台服务

安装PM2

npm install pm2 --global

安装Express

cd /data/weapp
npm install express --save

安装Wechat

cd /data/weapp
npm install wechat --save

安装完成后,使用 PM2 来启动 HTTP 服务

cd /data/weapp
pm2 start app.js

启动成功

 -------------

__/\\\\\\\\\\\\\____/\\\\____________/\\\\____/\\\\\\\\\_____
 _\/\\\/////////\\\_\/\\\\\\________/\\\\\\__/\\\///////\\\___
  _\/\\\_______\/\\\_\/\\\//\\\____/\\\//\\\_\///______\//\\\__
   _\/\\\\\\\\\\\\\/__\/\\\\///\\\/\\\/_\/\\\___________/\\\/___
    _\/\\\/////////____\/\\\__\///\\\/___\/\\\________/\\\//_____
     _\/\\\_____________\/\\\____\///_____\/\\\_____/\\\//________
      _\/\\\_____________\/\\\_____________\/\\\___/\\\/___________
       _\/\\\_____________\/\\\_____________\/\\\__/\\\\\\\\\\\\\\\_
        _\///______________\///______________\///__\///////////////__

┌──────────┬────┬─────────┬──────┬───────┬────────┬─────────┬────────┬─────┬───────────┬──────┬──────────┐
│ App name │ id │ version │ mode │ pid   │ status │ restart │ uptime │ cpu │ mem       │ user │ watching │
├──────────┼────┼─────────┼──────┼───────┼────────┼─────────┼────────┼─────┼───────────┼──────┼──────────┤
│ app      │ 0  │ 1.0.0   │ fork │ 17178 │ online │ 0       │ 0s     │ 0%  │ 15.3 MB   │ root │ disabled │
└──────────┴────┴─────────┴──────┴───────┴────────┴─────────┴────────┴─────┴───────────┴──────┴──────────┘

服务已经在 http://ip:5050运行
查看log

pm2 logs

重启服务

pm2 restart app

4.安装nginx

yum install nginx -y

安装完成后,使用 nginx 命令启动 Nginx:

nginx

5.配置 HTTP 反向代理

外网用户访问服务器的 Web 服务由 Nginx 提供,Nginx 需要配置反向代理才能使得 Web 服务转发到本地的 Node 服务。
Nginx 配置目录在 /etc/nginx/nginx.conf
修改配置示例:

server {
        listen 80;
        server_name www.shuibo.cn; #服务器配置里配置的url

        location / {
            proxy_pass http://127.0.0.1:5050;
        }
    }

然后保存重启

nginx -s reload

6. 提交公众平台服务器配置的表单

提交表单并且启用

关注二维码在聊天界面向微信公众号发送一条消息
微信扫码关注
最终我们会回到一条 你好,https://shuibo.cn 的回复

可能出现的错误
该公众号提供的服务出现故障,请稍后再试
出现原因大多数为:域名服务器未备案,80端口被拦截。

   
     
本文作者:      
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明出处!
扫码关注不迷路!

发表评论

电子邮件地址不会被公开。 必填项已用*标注