关键字: node express 服务器 域名 centos 微信公众号 自定义 开发 nginxhtml
文末 扩展 有惊喜!!! 好玩的功能node
文末 扩展 有惊喜!!!好玩的功能nginx
文末 扩展 有惊喜!!!好玩的功能git
一文 扫除 搭建微信公众号环境的 易错点。从外太空 到内xx 的扫盲教程。github
请注意 关键是 流程的跑通,不是 最终功能的实现。shell
随便输入文字,公众号 返回当前的时间express
要跑通整个流程,须要经历如下几步npm
由于公众号最终是要面向外网使用的,那么就必需要有一台对外的服务器,推荐使用云服务器(本身作过内网穿透映射也能够,可是不方便)。小程序
云服务器 推荐 腾讯云 和 阿里云。由于 微信公众号是腾讯云的,因此强烈推荐腾讯云。centos
新用户或者大学生都有优惠,最便宜的配置 大概20元一个月,不一样时期不一样活动。
如下随便哪一种都行。
注册成功后,进行登陆,而后选购服务器。地域
推荐选择 广州 备案起来更方便。
购买成功后,能够看到以下界面
由于服务器对外使用,要么直接用ip,要么绑定一个域名,而微信公众号必需要绑定域名,所以,提早注册一个域名吧。
须要注意的是 xyz club
等域名 首年便宜,后几年贵,若是长期使用,仍是建议 com cn
这类域名。
域名选购成功后,还不能立刻使用,要进行解析。进入到域名管理页面。 选择你购买好的域名,点击 解析
添加解析记录
www
能够解析 如 www.baidu.com
这样@
能够解析 baidu.com
*
泛域名,能够解析不少 如 wx.baidu.com
api.baidu.com
...方便后期本身扩展填写完毕以后,须要等待十分钟,才能够生效。
在生效的几天以内,是能够直接用域名来访问到你的服务器的,若是要长期顺利使用,就必需要备案域名
在国内要用域名访问服务器,就必需要备案。
备案的途径目前两种
电脑上备案,比较繁琐,还有腾讯那边给你寄一张幕布,而后拍照,再上传,一来一会就好几天了。不推荐
在小程序上备案,手机上直接点点点就能够了,相对简单,推荐
须要注意的是 不论是在电脑上仍是在小程序上备案,都须要准备以下资料。
我的身份证的正反照,清晰一点的
要打印纸质的材料,而后手动签名(流程中有提示的)
填写网站资料的时候,若是是我的用户,建议以下
其实,资料填错也没有所谓,由于腾讯云北京总部,会反复打电话给你来核实资料和纠正资料的,很贴心,电话结束后都不要记得给小姐姐好评哈,按 1
给好评 😄!!。
备案过程,最终是工信部那边审核的,时间有长有短 。30天左右。看你有没有幸被翻牌,早点翻就早点过去。
等待域名备案的同时,咱们能够来搭建服务器。
做者搭建服务器的环境以下
经过ssh的方式来链接服务器,进行环境安装,工具备不少种,xshell
putty
等。做者这里用的是 xshell
新建链接
文件 > 新建
而后会弹出提示,让你输入用户名和密码
用户名 默认是 root
密码 是你在选购服务器,选择系统的时候就会进行设置的,假如已经忘记了,能够在腾讯云的后台管理上进行重置
成功登陆后,恭喜你,能够看到以下界面
Nginx (engine x) 是一个高性能的 HTTP 和反向代理服务器
因为后期咱们是经过nginx
来管理服务器的请求和代理node服务器。所以,咱们须要先搭建nginx
。
检查看看是不是 centos 7 命令行中输入
cat /etc/redhat-release
复制代码
提示:
yum能够理解为 centos中的360软件管家,是来下载软件和工具的
Nginx 不在默认的 yum 源中,可使用 epel 或者官网的 yum 源,本例使用官网的 yum 源
sudo rpm -ivh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
复制代码
sudo yum install nginx
复制代码
如要想实现 访问你的域名 例如: wx.baidu.com
便跳转到 你服务器上的某个服务器端口。
wx.baidu.com
->>> 127.0.0.1:9090
因为初学者可能不懂的如何在命令中来编辑文件(其实能够经过vi编辑器来操做),那么为了方便操做,建议使用图形化的工具wincp,就能够相似操做 本地的资源管理器同样。
下载 安装好 wincp
后,新增远程链接
成功登陆,便能看到相似的界面
找到配置文件 /etc/nginx/nginx.conf
添加如下配置
# 定义映射到本地的端口 9091
upstream wx{
server 127.0.0.1:9091;
}
# 新增的服务配置
server {
# 监听80端口号
listen 80;
# 监听的域名
server_name wx.baidu.com;
location / {
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
# 代理到 本地的 90901端口
proxy_pass http://wx;
}
}
复制代码
如不会配置,则所有复制如下代码,彻底替换便可
user nginx;
worker_processes 1;
error_log /var/log/nginx/error.log warn;
pid /var/run/nginx.pid;
events {
worker_connections 1024;
}
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /var/log/nginx/access.log main;
sendfile on;
#tcp_nopush on;
keepalive_timeout 65;
#gzip on;
include /etc/nginx/conf.d/*.conf;
# 定义映射到本地的端口 9091
upstream wx{
server 127.0.0.1:9091;
}
#新增的服务配置
server {
# 监听80端口号
listen 80;
# 监听的域名
server_name wx.baidu.com;
location / {
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
# 代理到 本地的 90901端口
proxy_pass http://wx;
}
}
}
复制代码
编辑好后,启动nginx
sudo systemctl start nginx
复制代码
浏览器中输入 wx.baidu.com
能够看到nginx服务器的提示,502是由于 你的 9091没有放如何服务。下一步,开始部署服务。
设置开机启动
sudo systemctl enable nginx
复制代码
启动服务
sudo systemctl start nginx
复制代码
重启服务
sudo systemctl restart nginx
复制代码
暂停服务
sudo systemctl stop nginx
复制代码
测试配置是否正确(用来检查配置是否ok,可否失效的)
sudo nginx -t
复制代码
重启nginx服务
sudo nginx -s reload
复制代码
其实微信公众号对于后台语言并无什么要求,你只要安装接口约定,作好权限验证,发送的格式不要出错便可。那么咱们在这里使用node+express来搭建一个简单的后台服务。
git clone https://github.com/itcastWsy/wx_public_api
复制代码
cd wx_public
复制代码
安装依赖
npm install
复制代码
打开 routes\wxapi.js
下的 第六行 填入你的token
便可。
token
必须为英文或数字,长度为3-32字符。 要本身记住哦!
var token = "";
复制代码
npm run start
复制代码
还剩下最后一步,如今打开微信公众平台,进行登陆。
登陆成功后,在左侧菜单栏,点击 基本配置
须要说明的是 服务器地址,须要填写你以前备案过的域名 如 http://wx.baidu.com
由于咱们在express后台中,是加一一层路由嵌套,此时地址就变成。 http://wx.baidu.com/wx
当验证经过时,会弹出以下提示
此时,打开咱们的微信公众号,随便输入消息
至此,大功告成。
这么状况搭建好的环境,不骚跳一下 对得起本身吗
咱们如今经过简单的几个操做,即可觉得公众号接入 人工智能 对话!! 并且仍是免费的!!!
点击右上角的 控制台 安装提示 便可完成 注册
完成接入
使用内置功能,一键便可完成接入。
点击受权接入后,接下来扫描二维码便可
此时,再回到你的公众号,随便闲聊。 建议此时 关闭 微信公众后台的服务器配置功能