關鍵字: 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
當驗證經過時,會彈出以下提示
此時,打開咱們的微信公衆號,隨便輸入消息
至此,大功告成。
這麼狀況搭建好的環境,不騷跳一下 對得起本身嗎
咱們如今經過簡單的幾個操做,即可覺得公衆號接入 人工智能 對話!! 並且仍是免費的!!!
點擊右上角的 控制檯 安裝提示 便可完成 註冊
完成接入
使用內置功能,一鍵便可完成接入。
點擊受權接入後,接下來掃描二維碼便可
此時,再回到你的公衆號,隨便閒聊。 建議此時 關閉 微信公衆後臺的服務器配置功能