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

本文涉及的产品
云服务器 ECS,每月免费额度200元 3个月
云服务器ECS,u1 2核4GB 1个月
简介: 使用云服务器搭建微信公众号后台服务

一、申请微信个人订阅号


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
相关文章
|
2天前
|
JavaScript Java 测试技术
基于微信小程序的校园综合服务平台的设计与实现(源码+lw+部署文档+讲解等)
基于微信小程序的校园综合服务平台的设计与实现(源码+lw+部署文档+讲解等)
|
2天前
微信和支付宝支付的金额不能超过两位小数,可以把后台超过两位小数的支付字符串修正为两位小数
微信和支付宝支付的金额不能超过两位小数,可以把后台超过两位小数的支付字符串修正为两位小数
5 0
|
2天前
|
JavaScript Java 测试技术
基于微信小程序的医院综合服务平台的设计与实现(源码+lw+部署文档+讲解等)
基于微信小程序的医院综合服务平台的设计与实现(源码+lw+部署文档+讲解等)
|
2天前
|
JavaScript 小程序 Java
基于微信小程序的同城家政服务的设计与实现(源码+lw+部署文档+讲解等)
基于微信小程序的同城家政服务的设计与实现(源码+lw+部署文档+讲解等)
|
2天前
|
JavaScript 小程序 Java
基于微信小程序的家政服务预约系统的设计与实现(源码+lw+部署文档+讲解等)
基于微信小程序的家政服务预约系统的设计与实现(源码+lw+部署文档+讲解等)
|
2天前
|
弹性计算 监控 安全
【阿里云弹性计算】ECS实例监控与告警系统构建:利用阿里云监控服务保障稳定性
【5月更文挑战第23天】在数字化时代,阿里云弹性计算服务(ECS)为业务连续性提供保障。通过阿里云监控服务,用户可实时监控ECS实例的CPU、内存、磁盘I/O和网络流量等指标。启用监控,创建自定义视图集中显示关键指标,并设置告警规则(如CPU使用率超80%),结合多种通知方式确保及时响应。定期维护和优化告警策略,利用健康诊断工具,能提升服务高可用性和稳定性,确保云服务的卓越性能。
11 1
|
4天前
|
弹性计算 关系型数据库 MySQL
【阿里云弹性计算】从零搭建:基于阿里云ECS的高性能Web服务部署实践
【5月更文挑战第21天】本文介绍了如何使用阿里云ECS搭建高性能Web服务。首先,注册阿里云账号购买ECS实例,选择合适配置。接着,通过SSH连接实例,更新系统并安装Apache、PHP和MySQL。创建网站目录,上传代码,配置数据库和PHP。然后,启用Gzip压缩和KeepAlive,调整Apache并发连接数以优化性能。此教程为在阿里云上构建高效Web服务提供了基础指南。
101 5
|
5天前
|
网络协议
阿里云服务器搭建DNS解析服务步骤
在阿里云搭建DNS解析服务,首先注册阿里云账号并购买适合的云服务器。获取服务器公网IP后,配置服务器并安装DNS软件如Bind9。接着设置DNS解析,包括定义顶级和子域名的指向。最后,通过ping测试或浏览器访问验证DNS解析功能是否正常。
|
5天前
|
存储 弹性计算 监控
【阿里云弹性计算】阿里云ECS全面解析:弹性计算服务的核心优势与应用场景
【5月更文挑战第20天】阿里云ECS是提供可伸缩计算能力的云服务,支持多种规格实例,满足不同需求。其核心优势包括灵活性、高性能、高可用性、安全性和易用性。适用场景包括网站托管、大数据处理、游戏多媒体应用及测试开发环境。通过Python示例代码展示了如何创建ECS实例,助力企业专注业务发展,简化基础设施管理。
38 5
|
10天前
|
小程序 应用服务中间件 Linux
【Nginx】微信小程序后端开发、一个域名访问多个服务
【Nginx】微信小程序后端开发、一个域名访问多个服务
22 0

热门文章

最新文章