最详细的微信公众号搭建一条龙

node 跑通 微信公众号 开发者功能

关键字: node express 服务器 域名 centos 微信公众号 自定义 开发 nginxhtml

文末 扩展 有惊喜!!! 好玩的功能node

文末 扩展 有惊喜!!!好玩的功能nginx

文末 扩展 有惊喜!!!好玩的功能git

一文 扫除 搭建微信公众号环境的 易错点。从外太空 到内xx 的扫盲教程。github

请注意 关键是 流程的跑通,不是 最终功能的实现。shell

最终演示结果 1

随便输入文字,公众号 返回当前的时间express

1557281861011

最终演示结果2

1557305786822

试玩演示

扫码_搜索联合传播样式-标准色版

流程说明

要跑通整个流程,须要经历如下几步npm

  1. 开通云服务器
  2. 注册域名
  3. 申请备案
  4. 编写 node 后台代码 验证token非法性
  5. 服务器上部署代码
  6. 公众号开启 服务器配置
  7. 测试 公众号功能

云服务器域名开经过程

开通 腾讯云服务器

1557285834108


由于公众号最终是要面向外网使用的,那么就必需要有一台对外的服务器,推荐使用云服务器(本身作过内网穿透映射也能够,可是不方便)。小程序

云服务器 推荐 腾讯云 和 阿里云。由于 微信公众号是腾讯云的,因此强烈推荐腾讯云centos

新用户或者大学生都有优惠,最便宜的配置 大概20元一个月,不一样时期不一样活动。

注册帐号

如下随便哪一种都行。

1557285985239

购买服务器

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

1557286400273

购买成功后,能够看到以下界面

1557286461637

选购域名

由于服务器对外使用,要么直接用ip,要么绑定一个域名,而微信公众号必需要绑定域名,所以,提早注册一个域名吧。

1557286576968

须要注意的是 xyz club等域名 首年便宜,后几年贵,若是长期使用,仍是建议 com cn这类域名。

域名解析

域名选购成功后,还不能立刻使用,要进行解析。进入到域名管理页面。 选择你购买好的域名,点击 解析

1557288245171

添加解析记录

  1. www 能够解析 如 www.baidu.com 这样
  2. @ 能够解析 baidu.com
  3. * 泛域名,能够解析不少 如 wx.baidu.com api.baidu.com...方便后期本身扩展
  4. 其余。。

1557288385933

填写完毕以后,须要等待十分钟,才能够生效。

在生效的几天以内,是能够直接用域名来访问到你的服务器的,若是要长期顺利使用,就必需要备案域名

备案域名

在国内要用域名访问服务器,就必需要备案。

备案的途径目前两种

  1. 电脑上备案,比较繁琐,还有腾讯那边给你寄一张幕布,而后拍照,再上传,一来一会就好几天了。不推荐

    1557288805265

  2. 在小程序上备案,手机上直接点点点就能够了,相对简单,推荐

    1557288827219

须要注意的是 不论是在电脑上仍是在小程序上备案,都须要准备以下资料。

  1. 我的身份证的正反照,清晰一点的

  2. 要打印纸质的材料,而后手动签名(流程中有提示的)

  3. 填写网站资料的时候,若是是我的用户,建议以下

    1. 要留两个本身的手机号码,必须的。
    2. 我的通讯地址要详细到街道,门牌号(目前本身的居住地址)
    3. 网站的名称,不要写我的博客和其余带有商业性质的,直接写 我的开发学习使用便可
  4. 其实,资料填错也没有所谓,由于腾讯云北京总部,会反复打电话给你来核实资料和纠正资料的,很贴心,电话结束后都不要记得给小姐姐好评哈,按 1给好评 😄!!。

    1557289337568

  5. 备案过程,最终是工信部那边审核的,时间有长有短 。30天左右。看你有没有幸被翻牌,早点翻就早点过去。

    1557289419371

服务器部署搭建环境

等待域名备案的同时,咱们能够来搭建服务器。

做者搭建服务器的环境以下

  • centos 7
  • nginx
  • node express

链接服务器

经过ssh的方式来链接服务器,进行环境安装,工具备不少种,xshell putty 等。做者这里用的是 xshell

1557290233702

新建链接

文件 > 新建

1557290423720


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

  1. 用户名 默认是 root

  2. 密码 是你在选购服务器,选择系统的时候就会进行设置的,假如已经忘记了,能够在腾讯云的后台管理上进行重置

    1557290535105


成功登陆后,恭喜你,能够看到以下界面

1557290619212

安装nginx

什么是nginx

Nginx (engine x) 是一个高性能的 HTTP 和反向代理服务器

因为后期咱们是经过nginx来管理服务器的请求和代理node服务器。所以,咱们须要先搭建nginx

检查系统版本

检查看看是不是 centos 7 命令行中输入

cat /etc/redhat-release 
复制代码

提示

1557291503414

添加 yum 源

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
复制代码

安装nginx

sudo yum install nginx
复制代码

修改配置文件

如要想实现 访问你的域名 例如: wx.baidu.com 便跳转到 你服务器上的某个服务器端口。

wx.baidu.com ->>> 127.0.0.1:9090

因为初学者可能不懂的如何在命令中来编辑文件(其实能够经过vi编辑器来操做),那么为了方便操做,建议使用图形化的工具wincp,就能够相似操做 本地的资源管理器同样。

1557292460625

下载 安装好 wincp后,新增远程链接

1557292645577


成功登陆,便能看到相似的界面

1557292682875


找到配置文件 /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

1557292919767

能够看到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后台服务

其实微信公众号对于后台语言并无什么要求,你只要安装接口约定,作好权限验证,发送的格式不要出错便可。那么咱们在这里使用node+express来搭建一个简单的后台服务。

克隆项目

git clone https://github.com/itcastWsy/wx_public_api
复制代码

进入项目

cd wx_public
复制代码

安装依赖

npm install
复制代码

修改token

打开 routes\wxapi.js下的 第六行 填入你的token便可。

token 必须为英文或数字,长度为3-32字符。 要本身记住哦!

var token = "";
复制代码

启动项目

npm run start
复制代码

配置微信公众号后台

还剩下最后一步,如今打开微信公众平台,进行登陆

常见帮助文档

基本设置

登陆成功后,在左侧菜单栏,点击 基本配置

须要说明的是 服务器地址,须要填写你以前备案过的域名 如 http://wx.baidu.com

由于咱们在express后台中,是加一一层路由嵌套,此时地址就变成。 http://wx.baidu.com/wx

1557304277023


当验证经过时,会弹出以下提示

1557304379567

测试是否成功

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

1557281861011

至此,大功告成。

拓展

这么状况搭建好的环境,不骚跳一下 对得起本身吗

1557304543030

咱们如今经过简单的几个操做,即可觉得公众号接入 人工智能 对话!! 并且仍是免费的!!!

1557304890282

注册腾讯AI

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

1557305068992

建立应用

1557305172241

接人 智能闲聊 功能

1557305224362


完成接入

1557305251460

一键接入微信公众号

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

公众号受权

1557305363871

点击受权接入后,接下来扫描二维码便可

1557305403234

测试对话

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

1557305474544

帮助文档

  1. 腾讯云
  2. centos
  3. nginx
  4. node
  5. express
  6. 腾讯AI
相关文章
相关标签/搜索