一、申請微信個人訂閱號
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! 的回覆
阿里雲服務器:活動地址
購買可領取:阿里雲代金券