使用云服务器搭建微信公众号后台服务

本文涉及的产品
云服务器 ECS,每月免费额度280元 3个月
云服务器ECS,u1 2核4GB 1个月
简介: 一、申请微信个人订阅号 1.注册开发者账号 如果你还不是微信订阅号开发者,请先在微信公众平台注册: https://mp.weixin.qq.com 2.获取微信订阅号公众平台认证字段信息 我们需要获取3个字段:AppID Token EncodingAESKey。

一、申请微信个人订阅号

1.注册开发者账号

如果你还不是微信订阅号开发者,请先在微信公众平台注册:

https://mp.weixin.qq.com

2.获取微信订阅号公众平台认证字段信息

我们需要获取3个字段:AppID Token EncodingAESKey。

登录微信公众平台,依次进入 开发->基本配置 可以拿到 AppID。

在基本配置 -> 服务器配置 -> 修改配置 表单中:

URL 填第一步申请的域名;

Token 用户根据提示填写,用于后面校验服务端合法性;

EncodingAESKey 点击随机生成按钮来生成。

Snipaste_2019-11-18_14-40-41.png

当点击表单提交按钮时,微信会通过 Token 来校验 URL 的合法性,这个我们在后面步骤实现,此界面暂时保留不关闭。

二、搭建 HTTP 服务

1.安装 NodeJS 和 NPM

使用下面的命令安装 NodeJS 和 NPM

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

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

node -v

2.编写 HTTP Server 源码

创建工作目录

mkdir -p /data/release/weapp

进入此工作目录

cd /data/release/weapp

创建 package.json

在刚才创建的工作目录创建 package.json,添加我们服务器包的名称和版本号,如下。

package.json

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

完成后,使用 Ctrl + S 保存文件

添加 Server 源码

在工作目录创建 app.js,使用 Express.js 来监听 5050 端口,可参考下面的示例代码(注:将 app.js 文件中的token/appid/encodingAESKey等配置项替换为你的订阅号对应的取值)。

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

3。运行 HTTP 服务

在开始之前,我们先来安装 PM2

npm install pm2 --global

PM2 安装时间可能稍长,请耐心等候

安装 Express

服务器源码里使用到了 Express 模块,下面的命令使用 NPM 来安装 Express

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

安装 Wechat

服务器源码里使用到了 Wechat 模块,下面的命令使用 NPM 来安装 Wechat

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

启动服务

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

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

现在 HTTP 服务已经在 http://你的服务器IP:5050 运行

要查看服务输出的日志,可以使用下面的命令:

pm2 logs

如果要重启服务,可以使用下面的命令:

pm2 restart app

三、搭建 nginx 对外服务

1.安装 Nginx

在 CentOS 上,可直接使用 yum 来安装 Nginx

yum install nginx -y

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

nginx

此时,访问 http://你的服务器IP 可以看到 Nginx 的测试页面

2.配置 HTTP 反向代理

外网用户访问服务器的 Web 服务由 Nginx 提供,Nginx 需要配置反向代理才能使得 Web 服务转发到本地的 Node 服务。

Nginx 配置目录在 /etc/nginx/conf.d,我们在该目录创建 wechat.conf

wechat.conf

server {
        listen 80;
        server_name www.example.com; # 改为第一步申请的域名

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

按 Ctrl + S 保存配置文件,让 Nginx 重新加载配置使其生效:

nginx -s reload

在浏览器通过 http 的方式访问你解析的域名来测试 HTTP 是否成功启动

四、使用Server端回复微信消息

1.提交服务端配置

我们将第一步微信公众平台中保留的表单提交,同时将 基本配置 -> 服务器配置 启用

2.关注、发送与消息回复

首先通过二维码关注微信订阅号

在聊天界面向微信公众号发送一条消息

最终我们会回到一条 你好,Hello World! 的回复

相关实践学习
一小时快速掌握 SQL 语法
本实验带您学习SQL的基础语法,快速入门SQL。
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情: https://www.aliyun.com/product/ecs
相关文章
|
1月前
|
小程序 容器
企业官网小程序搭建教程-首页的搭建05
企业官网小程序搭建教程-首页的搭建05
|
弹性计算 自然语言处理 Ubuntu
搭建自己专属的云笔记
在本课程中将要带大家安装一下mangodb,安装二进制Leanotes的版本,最终形成一个云笔记。
搭建自己专属的云笔记
|
11天前
|
XML 安全 Java
如何开发微信公众号后台
如何开发微信公众号后台
|
11月前
|
存储 小程序 前端开发
微信小程序云开发|个人博客小程序
微信小程序云开发|个人博客小程序
195 0
|
弹性计算 JavaScript 网络安全
利用云服务器搭建个人博客
使用ESC云服务器和github actions搭建个人博客并且自动化部署
利用云服务器搭建个人博客
使用CSDN云服务搭建一个WordPress 个人站点(视频教程)
目录 前言 视频教程 文字版教程 云主机体验地址 官方文档 前言 六一儿童节体验了一下CSDN云主机相关的服务,感觉最近官方最近变化很大,业务范围很广,这里简单体验了一下云主机,给大家分享一点心得,希望对大家有所启发。文章是6月1号写的,这里做一个整理。 视频教程 文字版教程
103 0
使用CSDN云服务搭建一个WordPress 个人站点(视频教程)
|
网络协议 小程序 Ubuntu
7.2【微信小程序全栈开发课程】小程序上线--配置云服务器、域名
项目完成后,如果希望别人能访问到我们的项目,那就要将项目上线,需要准备两个工具: 云服务器 已备案的域名
268 0
7.2【微信小程序全栈开发课程】小程序上线--配置云服务器、域名
|
运维 安全 测试技术
APICloud数据云3.0使用教程
数据云3.0是一个全新的服务端开发运维平台,提供从后端开发、接口联调到上线运营维护等一整套方案。开发者无需考虑数据库和服务器等基础设施,无需关心服务器测试环境的搭建,数据的备份及服务扩容等与业务无关的工作,只需关心逻辑本身。通过云引擎,云数据库,云函数,内置模型、等功能模块方便用户快速实现常用的后端功能。
357 0
APICloud数据云3.0使用教程
|
弹性计算 小程序 Ubuntu
微信小程序后台搭建——飞天加速计划服务器试用体验
本文主要描述笔者在使用阿里云ECS服务器期间的一些体验和感受。
346 0
|
弹性计算 数据库 数据安全/隐私保护
如何使用阿里云服务器搭建Discuz论坛网站(图文教程)
Discuz! 作为全球成熟度最高、覆盖率最大的论坛软件系统之一,自创立以来 拥有200 多万网站用户案例,目前Discuz! 不断发展完善,已经成为一个以社区为基础的专业建站平台,让论坛(BBS)、社交网络(SNS)、门户(Portal)、群组(Group)、开放平台(Open Platform)应用充分融合于一体,帮助网站实现一站式服务。那么如何搭建Discuz论坛网站呢,本文以阿里云为例,详细整理出搭建Discuz论坛网站步骤。
1469 0