微信订阅号运营模板 5步搭建微信订阅号后台服务
微信公众号后台自带的功能可能有时不能满足我们的需要,这时候我们就需要搭建自己的服务端。小桀带您从零开始,基于 NodeJS 搭建起一个可以支撑微信订阅号自动回复的服务,包括 HTTP 部署、后台模块服务。
1.准备域名微信公众平台需要配置服务器地址 URL 访问,在开始之前,我们要准备域名。
域名注册
如果您还没有域名,可以在腾讯云、阿里云、西部数码上选购。
域名解析
域名购买完成后, 需要将域名解析到云主机上,云主机的 IP列如 为:
123.207.5.149
购买的域名,可以到控制台添加解析记录:
域名设置解析后需要过一段时间才会生效,通过 ping
命令检查域名是否生效 ,如:
ping 这里是你购买的域名
如果 ping 命令返回的信息中含有你设置的解析的 IP 地址,说明解析成功。
2.申请微信个人订阅号在开始搭建我们的订阅号服务器之前,需要先拿到订阅号相关信息。
注册开发者账号
如果你还不是微信订阅号开发者,请先在微信公众平台注册:
https://mp.weixin.qq.com
注册开发者账号
获取微信订阅号公众平台认证字段信息
我们需要获取3个字段:AppID Token EncodingAESKey。
登录微信公众平台,依次进入 开发 - 基本配置可以拿到 AppID。在基本配置-服务器配置-修改配置表单中:
URL 填第一步申请的域名;
Token 用户根据提示填写,用于后面校验服务端合法性;
EncodingAESKey 点击随机生成按钮来生成。
当点击表单
提交
按钮时,微信会通过 Token 来校验 URL 的合法性,这个我们在后面步骤实现,此界面暂时保留不关闭。
AppID Token EncodingAESKey 这3个参数
下面的步骤,将带大家在服务器上使用 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
成功
编写 HTTP Server 源码
创建工作目录
使用下面的命令在服务器创建一个工作目录:
mkdir -p /data/release/weapp
进入此工作目录
cd /data/release/weapp
创建 package.json
在刚才创建的工作目录创建 package.json,添加我们服务器包的名称和版本号,可参考下面的示例。
示例代码:/data/release/weapp/package.json
{ "name": "weapp", "version": "1.0.0"}
完成后,使用 Ctrl S 保存文件
添加 Server 源码
在工作目录创建 app.js,使用 Express.js 来监听 5050 端口,可参考下面的示例代码(注:请将 app.js文件中的token/appid/encodingAESKey等配置项替换为您的订阅号对应的取值)。
示例代码:/data/release/weapp/app.js
// 引用 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: '你好,Hello World!', type: 'text' });}));// 监听端口,等待连接const port = 5050;app.listen(port);// 输出服务器启动日志console.log(`Server listening at http://127.0.0.1:${port}`);
本实验会以 5050 端口的打开作为实验步骤完成的依据,为了后面的实验步骤顺利进行,请不要使用其它端口号
4.运行 HTTP 服务安装 PM2
在开始之前,我们先来安装 [PM2]
npm install pm2 --global
PM2 安装时间可能稍长,请耐心等候
安装 Express
我们的服务器源码里使用到了 Express 模块,下面的命令使用 NPM 来安装 Express
cd /data/release/weappnpm install express --save
安装 Wechat
我们的服务器源码里使用到了 Wechat 模块,下面的命令使用 NPM 来安装 Wechat
cd /data/release/weappnpm install wechat --save
启动服务
安装完成后,使用 PM2 来启动 HTTP 服务
cd /data/release/weapppm2 start app.js
现在,您的 HTTP 服务已经在 http://<您的 CVM IP 地址>:5050 运行
要查看服务输出的日志,可以使用下面的命令:
pm2 logs
如果要重启服务,可以使用下面的命令:
pm2 restart app
我们使用 PM2 来进行 Node 进程的运行、监控和管理
NPM 仓库在国内访问速度可能不太理想,如果实在太慢可以尝试使用 CNPM 的 Registry 进行安装:npm install pm2 -g --registry=https://r.cnpmjs.org/
NodeJs只是侦听的机器上的 5050
端口,我们使用 nginx
侦听 80
端口提供对外域名服务
安装 Nginx
在 CentOS 上,可直接使用 yum
来安装 Nginx
yum install nginx -y
安装完成后,使用 nginx
命令启动 Nginx:
nginx
此时,访问 http://<您的域名> 可以看到 Nginx 的测试页面
如果无法访问,请重试用 nginx -s reload
命令重启 Nginx
配置 HTTP 反向代理
外网用户访问服务器的 Web 服务由 Nginx 提供,Nginx 需要配置反向代理才能使得 Web 服务转发到本地的 Node 服务。
Nginx 配置目录在 /etc/nginx/conf.d,我们在该目录创建 wechat.conf
示例代码:/etc/nginx/conf.d/wechat.conf
按 Ctrl S
保存配置文件,让 Nginx 重新加载配置使其生效:
nginx -s reload
在浏览器通过 http 的方式访问你解析的域名来测试 HTTP 是否成功启动
使用Server端回复微信消息
提交服务端配置
我们将第二步微信公众平台中保留的表单提交,同时将 基本配置- 服务器配置启用
关注、发送与消息回复
首先通过二维码关注微信订阅号
在聊天界面向微信公众号发送一条消息
最终我们会回到一条 你好,Hello World!的回复
大功搞成
恭喜!您已经完成了搭建微信订阅号后台服务的实验内容!
- 01-30五年级部编版语文期末检测a卷:部编版五年级语文期末测试卷
- 01-16奔驰威霆高顶七座隔断 奔驰威霆改装高顶全隔断
- 02-29抽奖骗子破防 名为抽奖,实是陷阱
- 04-18cad的打印方式,CAD的两种打印方法你掌握了多少
- 01-15这就是大部分人在深圳的现状,在深圳生活得很惨的人
- 01-27科比生涯最后一场60分:科比最后一次西决打服了太阳队
- 10-23学生复学后应该如何防控?复学防护丨健康小知识
- 10-14主动脉夹层引起了心梗怎么办?胸痛不一定是心梗胸主动脉夹层更致命
- 10-20广州暨南大学是私立还是公立 2023暨南大学在广东录取前10名中学
- 12-02人生守嘴不惹祸守心不出错的句子 守嘴不惹祸守心不出错
- 03-26玻璃钢水箱报价是多少:SMC玻璃钢水箱多少钱一吨
- 10-25单相电机启动电容与运行电容接线,单相电机启动电容与运行电容的接法以及如何实现正反转
- 12-15春风与你皆过客语录:我与春风皆过客你携秋水揽星河
- 05-15给老师最难的教师节画画作品:画出孩子心中最爱的老师
- 11-25龟肉不可以和什么吃?龟肉如何食用才能更有营养
- 04-21华为二层交换机vlan怎么划分?华为三层交换机配置基于接口划分vlan
热门
推荐
- 1校长在创先争优活动动员会上的讲话276
- 2美的电饭煲常见故障检修方法有哪些130
- 3神舟号飞船选在晚上发射的原因190
- 4十宗罪肢体雪人结局什么意思478
- 5初二期末班主任对学生评语122
- 6高二上册政治生活与哲学阶段质检试题及答案299
- 7教师德育工作个人总结范文215
- 8有关美术油画毕业论文272