最詳細的微信公衆號搭建一條龍

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
相關文章
相關標籤/搜索