一 前言
微信小程序,相信大家早已熟知,它是一種無需下載安裝即可使用的輕型應用,具有跨平臺和接近 native app 性能體驗的優勢。從開發模式上說,它是前后端分離的,微信小程序負責實現前端應用,后端服務可以使用任何你說熟知的開發語言,如 php 、 nodejs 、 java 、 c# 、 python 等,因而,微信小程序的開發文檔主要是圍繞 wxml 、 wxss 等前端框架、組件或樣式布局進行講解,幾乎看不到后端技術的身影。本文主要介紹如何在騰訊云服務器上部署 python+django 實現的微信小程序后臺服務,對整個部署過程和涉及的事件有所了解即可,無需關注具體細節。
二 部署前準備
部署前的準備工作比較耗時,可能這也是很多微信小程序個人開發者會感到頭疼的地方 …
1. 購買云主機
開發的微信小程序應用帶后臺服務的,要考慮購買云主機,可選服務提供商挺多的,如騰訊云、阿里云、百度云等,根據個人需要選購即可,騰訊云主機相對便宜(西南地區 - 成都,主機相對其他區域便宜一點);
2. 域名申請\解析\備案
a. 域名申請
購買域名,最好是云主機在哪里買,域名就在哪里買吧,也省了域名轉入的事兒,比如主機、域名都在騰訊云購買;
b. 域名解析
購買的云主機會有一個公網ip,通過將域名與ip地址綁定,可以實現通過域名訪問服務。如騰訊云主機域名解析配置方式為:
登錄騰訊云控制臺---> 進入域名頁面--->在域名上點擊[解析]--> 添加解析記錄
c. 域名備案
這個最蛋疼! 騰訊云提交備案信息,如個人信息、住址信息、×××信息、居住證信息、照片視頻等材料;
這個最耗時! 騰訊云審核1個工作日,管局審核理論上 20 個工作日左右(可能會快幾天) ;
這個是必須的! 微信小程序后臺域名必須備案,沒法繞過,看開發文檔的明確說明:
3. 申請ssl證書\配置啟用https訪問
a. 騰訊云提供了ssl證書的免費申請,具體可以查看騰訊云相關文檔,大致流程為:
登錄騰訊云-->ssl證書管理-->申請證書(免費)-->等待審核( 一個工作日內完成審核,審核結果將以短信、郵件及站內信的方式通知您。一般半個小時即可審核通過 )
b. 配置啟用https
證書審批結果會以短信通知,審批通過后,可以在控制臺下載證書文件,且在apache中安裝配置( 記得配置后重啟apache服務 )
4. 配置小程序服務器域名
域名備案通過后,登錄微信公眾平臺小程序,配置服務器域名,大致流程是:開發 -- 開發設置 - 服務器域名 - 開始配置,填寫備案的域名;
三 部署apache+mod_wsgi+django
經過前期的準備,已經有可以運行后臺服務的主機和備案的域名,且支持https協議,接下來就需要將開發好的后臺服務部署到云主機,以便為微信小程序提供后臺api 訪問。
1. apache 安裝配置
我的騰訊云服務器使用的是 windows 2k8 r2 系統,在 apache 官網下載對應的版本,解壓,配置 httpd.conf ,使用類似 httpd -k install -n " apache2.4
" 的命令 可以 將 apache 注冊成 windows 服務;
2. 安裝 mod_wsgi
下載與 python 版本對應的 mod_wsgi ,使用 pip install 安裝,并記錄安裝成功后出現的配置信息,以備后續 httpd.conf 配置;
3. 配置 django 項目
部署 django 項目,配置 httpd.conf ,重啟 apache 服務,如果配置無異常,通過配置的域名應該可以正確獲得后臺響應數據,后臺接口數據一般以 json 格式返回。
httpd.conf 配置舉例如下,配置時注意依據實際路徑修改:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
#安裝wsgi模塊后,mod_wsgi-express module-config命令輸出的三行信息,直接復制過來 loadfile c: / python36 / python36.dll loadmodule wsgi_module c: / users / administrator / .virtualenvs / example - qwbwsvwe / lib / site - packages / mod_wsgi / server / mod_wsgi.cp36 - win32.pyd wsgipythonhome c: / users / administrator / .virtualenvs / example - qwbwsvwe #設置工程中的wsgi路徑 wsgiscriptalias / c:\dev\example\webapp\webapp\wsgi.py #設置工程路徑 wsgipythonpath c:\dev\example\webapp #設置wsgi路徑 <directory c:\dev\example\webapp\webapp> <files wsgi.py> require all granted < / files> < / directory> #設置靜態文件路徑 alias / static c:\dev\example\webapp\static <directory c:\dev\example\webapp\static> allowoverride none options none require all granted < / directory> |
四 總結
如果開發的微信小程序需要后臺服務支持,域名備案是一個耗時等待的過程,因而,可以提前發起備案申請;后臺服務部署涉及的細節較多,都可以單獨領出來寫配置文檔,但配置相對比較容易,另外,考慮后臺服務器選擇種類眾多,全部寫出來,篇幅居多,參考性可能也不大,所以,只列出大致流程,對整個部署過程和涉及的事件有所了解即可,實際應用中還要具體問題具體分析。
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持服務器之家。
原文鏈接:https://blog.51cto.com/2681882/2390137