配置node服务器并且链接微信公众号接口配置步骤(2)

// 安装PM2 npm install pm2 -g // 进入你的node项目存放的文件夹,pwd是你的文件夹路径 cd pwd // 启动pm2,--watch监听,每次改动代码自动启动,-i 1 启动一个实例,根据服务器又几个核心设置 // -i 0 则会根据机器当前核数自动开启尽可能多的进程 pm2 start home.js --watch -i 1 // 查看pm2 pm2 ls // 查看错误日志 pm2 logs // 重启 pm2 restart home.js // 停止,id通过查看获得 pm2 stop home|id // 删除 pm2 delete home|id // 了解程序的详细信息 pm2 describe home|id // 关闭Xshell,刷新域名,还可以看见 'Hello World' 表示配置成功

链接微信公众号接口配置

8、编写本地node代码

const Koa = require('koa') const cors = require('koa2-cors') const Router = require('koa-router') const crypto = require('crypto') const app = new Koa() // 微信配置 const config = { wechat: { appID: 'appID', appsecret: 'appsecret', token: 'Maya' } } // 使用koa2-cors解决跨域问题 app.use( cors({ origin: ctx => { if (ctx.url === '/test') { return false } return '*' }, exposeHeaders: ['WWW-Authenticate', 'Server-Authorization'], maxAge: 5, credentials: true, allowMethods: ['GET', 'POST', 'DELETE'], allowHeaders: ['Content-Type', 'Authorization', 'Accept'] }) ) // 给微信验证的 const wxServer = new Router() wxServer.get('https://www.jb51.net/', async ctx => { const { signature, timestamp, nonce, echostr } = ctx.query const token = config.wechat.token let hash = crypto.createHash('sha1') const arr = [token, timestamp, nonce].sort() hash.update(arr.join('')) const shasum = hash.digest('hex') if (shasum === signature) { return (ctx.body = echostr) } ctx.status = 401 ctx.body = 'Invalid signature' }) // 装载所有路由 const router = new Router() router.use('/forWx', wxServer.routes(), wxServer.allowedMethods()) // 加载路由中间件 app.use(router.routes()).use(router.allowedMethods()) app.listen(3000) console.log('[demo] start-quick is starting at port 3000')

9、通过内网穿透的方式测试本地代码是否ok

1、通过localtunnel启动内网穿透,不推荐,有可能启动成功,但是域名链接失败

// 安装 npm install -g localtunnel // 开启本地服务器 lt --port 3000

2、通过natapp启动内网穿透,配置需要花费一点时间

可以通过内网穿透工具natapp!这篇文章安装配置,

如果你代码写的是开启3000端口,那么最好也配置成3000端口

tips:如果看到隧道链接成功,但是127.0.0.1:3000端口链接失败的提示,不代表安装配置失败,是需要你启动一下代码

安装配置成功后,启动

node home.js

能够成功在浏览器上看到 Invalid signature 表示内网穿透成功

10、开启一个微信公众平台测试账号

在微信公众平台测试管理页面,接口配置信息,URL填写你natapp启动的域名加上forWx,比如我的域名是


Token是你自己自定义的,可以随便写,但是要和你本地代码里的Token一致,我这里用的是Maya

点击提交,显示配置成功

11、服务器链接微信公众号接口配置

通过上面的测试账号,验证了代码没有问题,可以配置成功接口配置,剩下的就是把代码上传到服务器了,安装选择rz和sz,当然,使用xftp更好

// 安装 yum install lrzsz -y // 上传,执行命令,选择打包文件 rz // 下载,filename是你打包的服务器文件夹,或者单个文件 sz filename

上传成功后,解压缩,清除前面的 Hello World 代码,清空 PM2 ,重新把现在代码挂到 PM2 上

在浏览器上输入域名 + forWx 能出现 Invalid signature 表示成功,如果没有出现,配置不成功,需要排查原因

在微信公众平台登录账号,选择基本配置-->服务器配置,然后按照配置测试账号的方式去配置

点击提交,显示配置成功

尾声

嘘~~~长出了一口气,研究了老久,node服务器总算配置成功了,而且已经链接到公众号接口配置,并且我还有一个测试账号
可以用测试账号本地写代码,然后再上传到服务器验证的方式去开发
这样的做的原因是,测试账号玩坏了不心疼,转眼又弄好了一个,服务器玩坏了,配置起来可就麻烦了
剩下的就是开发具体业务了,什么拿到AccessToken啊,自动回复消息啊,自定义菜单啊,等等等等

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/1f37e26d9242e7870391ca0b40e63d62.html