使用雲服務器搭建微信公衆號後臺服務

一、申請微信個人訂閱號


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! 的回覆

阿里雲服務器:活動地址

購買可領取:阿里雲代金券

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章