关键字: node express 服务器 域名 centos 微信公众号 自定义 开发 nginx
一文 扫除 搭建微信公众号环境的 易错点。从外太空 到内xx 的扫盲教程。
请注意 关键是 流程的跑通,不是 最终功能的实现。
随便输入文字,公众号 返回当前的时间


要跑通整个流程,需要经历以下几步

因为公众号最终是要面向外网使用的,那么就必须要有一台对外的服务器,推荐使用云服务器(自己做过内网穿透映射也可以,但是不方便)。
新用户或者大学生都有优惠,最便宜的配置 大概20元一个月,不同时期不同活动。
以下随便哪种都行。

注册成功后,进行登录,然后选购服务器。地域 推荐选择 广州 备案起来更方便。

购买成功后,可以看到如下界面

因为服务器对外使用,要么直接用ip,要么绑定一个域名,而微信公众号必须要绑定域名,因此,提前注册一个域名吧。

需要注意的是 xyz club等域名 首年便宜,后几年贵,如果长期使用,还是建议 com cn这类域名。
域名选购成功后,还不能马上使用,要进行解析。进入到域名管理页面。 选择你购买好的域名,点击 解析

添加解析记录
www 可以解析 如 www.baidu.com 这样@ 可以解析 baidu.com* 泛域名,可以解析很多 如 wx.baidu.com api.baidu.com...方便后期自己扩展
填写完毕之后,需要等待十分钟,才可以生效。
在生效的几天之内,是可以直接用域名来访问到你的服务器的,如果要长期顺利使用,就必须要备案域名
在国内要用域名访问服务器,就必须要备案。
备案的途径目前两种

需要注意的是 不管是在电脑上还是在小程序上备案,都需要准备如下资料。
1给好评 😄!!。


等待域名备案的同时,我们可以来搭建服务器。
作者搭建服务器的环境如下
通过ssh的方式来连接服务器,进行环境安装,工具有很多种,xshell putty 等。作者这里用的是 xshell

新建连接
文件 > 新建

然后会弹出提示,让你输入用户名和密码

成功登录后,恭喜你,可以看到如下界面

什么是nginx 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.rpmsudo 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_apicd 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

当验证通过时,会弹出如下提示

此时,打开我们的微信公众号,随便输入消息

至此,大功告成。
这么情况搭建好的环境,不骚跳一下 对得起自己吗

我们现在通过简单的几个操作,便可以为公众号接入 人工智能 对话!! 而且还是免费的!!!

点击右上角的 控制台 安装提示 即可完成 注册



完成接入

使用内置功能,一键即可完成接入。

点击授权接入后,接下来扫描二维码即可

此时,再回到你的公众号,随便闲聊。 建议此时 关闭 微信公众后台的服务器配置功能
