基於騰訊雲服務器部署微信小程序後臺服務(Python+Django)

前言前端

微信小程序,相信你們早已熟知,它是一種無需下載安裝便可使用的輕型應用,具備跨平臺和接近Native App性能體驗的優點。從開發模式上說,它是先後端分離的,微信小程序負責實現前端應用,後端服務可使用任何你說熟知的開發語言,如PHPNodeJsJavaC#Python等,於是,微信小程序的開發文檔主要是圍繞WXMLWXSS等前端框架、組件或樣式佈局進行講解,幾乎看不到後端技術的身影。本文主要介紹如何在騰訊雲服務器上部署Python+Django實現的微信小程序後臺服務,對整個部署過程和涉及的事件有所瞭解便可,無需關注具體細節。python


部署前準備web

部署前的準備工做比較耗時,可能這也是不少微信小程序我的開發者會感到頭疼的地方express

1.      購買雲主機apache

開發的微信小程序應用帶後臺服務的,要考慮購買雲主機,可選服務提供商挺多的,如騰訊雲、阿里雲、百度雲等,根據我的須要選購便可,騰訊雲主機相對便宜(西南地區-成都,主機相對其餘區域便宜一點);json


2.      域名申請\解析\備案小程序

A.  域名申請windows

購買域名,最好是雲主機在哪裏買,域名就在哪裏買吧,也省了域名轉入的事兒,好比主機、域名都在騰訊雲購買;後端

B.  域名解析微信小程序

購買的雲主機會有一個公網IP,經過將域名與ip地址綁定,能夠實現經過域名訪問服務。如騰訊雲主機域名解析配置方式爲:

登陸騰訊雲控制檯---> 進入域名頁面--->在域名上點擊[解析]--> 添加解析記錄

C.  域名備案

這個最蛋疼!騰訊雲提交備案信息,如我的信息、住址信息、×××信息、居住證信息、照片視頻等材料;

這個最耗時!騰訊雲審覈1個工做日,管局審覈理論上20個工做日左右(可能會快幾天)

這個是必須的!微信小程序後臺域名必須備案,無法繞過,看開發文檔的明確說明:

https.jpg


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配置舉例以下,配置時注意依據實際路徑修改:

#安裝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>


四 總結

若是開發的微信小程序須要後臺服務支持,域名備案是一個耗時等待的過程,於是,能夠提早發起備案申請;後臺服務部署涉及的細節較多,均可以單獨領出來寫配置文檔,但配置相對比較容易,另外,考慮後臺服務器選擇種類衆多,所有寫出來,篇幅居多,參考性可能也不大,因此,只列出大體流程,對整個部署過程和涉及的事件有所瞭解便可,實際應用中還要具體問題具體分析。

相關文章
相關標籤/搜索