在阿里雲的ubuntu主機上用Node.js搭建微信公眾號伺服器
環境配置
配置雲主機
購買雲主機,選擇ubuntu系統,通過管理終端連線伺服器,通過root使用者登入。
用adduser命令新建一個使用者,以後通過ssh連線時使用這個使用者名稱。
把使用者新增到sudo 使用者組,給使用者執行sudo級別命令的許可權。
sudo adduser <username> sudo
通過ssh連線到遠端主機。
ssh username@host
Node.js安裝及配置
安裝nvm
先從ubuntu的程式碼庫裡安裝構建工具包必須的軟體包:
sudo apt-get update
sudo apt-get install build-essential libssl-dev
到nvm專案主頁上找到安裝命令(ubutun下用wget):
wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.31.1/install.sh | bash
為了在不退出的前提下使用nvm,還要重新編譯一下自己的profile:
source ~/.profile
執行nvm ls-remote
,檢查安裝是否成功。
安裝Node.js
用nvm安裝node.js
nvm i 5.11.1
允許Node使用80埠
在Linux上,1024以下的埠只能開放給root使用,為了允許新建的使用者在80埠下啟動node應用,可以執行下面兩條命令:
sudo apt-get install libcap2-bin
sudo setcap cap_net_bind_service=+ep `readlink -f \`which node\``
安裝PM2
PM2是Node.js應用的程式管理器,自帶負載均衡。將pm2安裝在全域性環境下:
npm i -g pm2
安裝Mongodb
匯入公鑰
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv EA312927
給mongodb建立一個list檔案
echo "deb http://repo.mongodb.org/apt/ubuntu trusty/mongodb-org/3.2 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.2.list
過載本地包資料庫
sudo apt-get update
安裝Mongodb
sudo apt-get install -y mongodb-org
啟動mongodb
sudo service mongod start
建立Git裸庫
安裝git
sudo apt-get install git
建立裸倉庫
mkdir weixin.git cd weixin.git git --bare init
建立工作目錄
git clone ./weixin.git ./weixin
首次提交
echo "Weixin API Server" > README.md git add . git config --local user.name username git config --local user.email username@mail.com git commit -m "Add README.md" git push origin master
clone到本地
git clone username@host:/path/to/weixin.git
連線測試
申請公眾平臺測試賬號
在公眾號的開發工具中,可以申請公眾平臺測試賬號。
測試賬號申請通過後,可以得到測試用的appID及appSecret。掃描測試號的二維碼,可以開啟與測試賬號的對話方塊。
建立測試應用
- 在工作目錄下用
npm init
初始化專案 安裝express
npm i -S express
安裝wechat
npm i -S wechat
安裝wechat-api
npm i -S wechat-api
建立測試應用 index.js
var http = require('http'); var API = require('wechat-api'); var api = new API(appID,appSecret); var express = require('express'); var app = express(); var wechat = require('wechat'); var config = { appid: appID, appsecret: appSecret, token: token }; app.use(express.query()); app.use('/', wechat(config, function (req, res, next) { var message = req.weixin; console.log(message); res.reply("Hello"); })); /* * 響應微信測試伺服器的連線驗證 **/ app.get('/', function(req, res){ var echostr = req.query.echostr, signature = req.query.signature; console.log(signature); res.send(req.query.echostr); }); /* * 測試獲取token命令 **/ app.get('/get_token',function(req,res) { api.getLatestToken(function(err,token) { res.send(token); }); }); app.listen(80); console.log("Server running at http://127.0.0.1:80/");
配置測試伺服器
用pm2啟動剛剛建立的測試應用
sudo pm2 start index.js
在測試號管理中新增測試伺服器資訊,token可以隨便填。
訪問測試伺服器上的/get_token地址,檢查瀏覽器中顯示的訊息是否有效。
- 在微信中發訊息給測試號,看是否能收到自動回覆的訊息
參考資料
相關文章
- 在 Ubuntu 18.04 上 搭建微信小程式和公眾號應用開發環境Ubuntu微信小程式開發環境
- Node.js + Express 認證微信公眾號Node.jsExpress
- 微信公眾號查券返利機器人搭建教程機器人
- 教你微信公眾號報名的製作方法 微信公眾號報名怎麼用?
- 【微信公眾號】配置與應用
- [微信公眾號] 配置與應用
- 微信公眾號上如何上傳excel表格?Excel
- Node.js之快速搭建微信公眾號伺服器 [全教程原始碼,拿去就能跑]Node.js伺服器原始碼
- Koa2+co-wechat快速搭建微信公眾號伺服器配置伺服器
- 微信公眾號的留言功能
- 教你如何用node.js開發微信公眾號(一)Node.js
- 教你如何用node.js開發微信公眾號(二)Node.js
- 微信公眾號智慧回答
- 微信公眾號託管
- 微信公眾號開發
- 【Markdown】如何在微信公眾號上寫markdown的文章
- 微搜網·微信公眾號大全
- 微信公眾號-入門的坑
- 微信公眾號選單的配置
- 微信公眾號投票活動製作教程 微信公眾號投票怎麼弄?
- 微信公眾號開發-分享
- 微信公眾號獲取AccessToekn
- Nodejs微信公眾號開發NodeJS
- 本地測試微信公眾號
- .net開發微信公眾號
- 微信公眾號介面導讀
- 微信公眾號網頁開發——實用真機除錯網頁除錯
- 微信公眾號讚賞功能開通方法 微信公眾號讚賞如何開通
- 微信公眾號如何運用seo引流(微信SEO的6個排名技巧)
- 微信開發系列之一 - 微信公眾號開發的開發環境搭建開發環境
- 微信公眾號正文如何插入附件
- 爬取微信公眾號文章工具
- 微信公眾號自動回覆_JavaJava
- 微信公眾號支付踩坑記
- [作品釋出]「信達」通過微信公眾號控制你的伺服器伺服器
- 微信公眾號和微信軟文采集網站網站
- 微信sdk 公眾號 微信支付 NFC 坑&筆記筆記
- 【Ubuntu】在Ubuntu上安裝微信Ubuntu
- 實現支援多公眾號的微信公眾號掃碼登入服務