基于騰訊云服務(wù)器部署微信小程序后臺(tái)服務(wù)(Python+Django)
一 前言
微信小程序,相信大家早已熟知,它是一種無(wú)需下載安裝即可使用的輕型應(yīng)用,具有跨平臺(tái)和接近 Native App 性能體驗(yàn)的優(yōu)勢(shì)。從開(kāi)發(fā)模式上說(shuō),它是前后端分離的,微信小程序負(fù)責(zé)實(shí)現(xiàn)前端應(yīng)用,后端服務(wù)可以使用任何你說(shuō)熟知的開(kāi)發(fā)語(yǔ)言,如 PHP 、 NodeJs 、 Java 、 C# 、 Python 等,因而,微信小程序的開(kāi)發(fā)文檔主要是圍繞 WXML 、 WXSS 等前端框架、組件或樣式布局進(jìn)行講解,幾乎看不到后端技術(shù)的身影。本文主要介紹如何在騰訊云服務(wù)器上部署 Python+Django 實(shí)現(xiàn)的微信小程序后臺(tái)服務(wù),對(duì)整個(gè)部署過(guò)程和涉及的事件有所了解即可,無(wú)需關(guān)注具體細(xì)節(jié)。
二 部署前準(zhǔn)備
部署前的準(zhǔn)備工作比較耗時(shí),可能這也是很多微信小程序個(gè)人開(kāi)發(fā)者會(huì)感到頭疼的地方 …
1. 購(gòu)買(mǎi)云主機(jī)
開(kāi)發(fā)的微信小程序應(yīng)用帶后臺(tái)服務(wù)的,要考慮購(gòu)買(mǎi)云主機(jī),可選服務(wù)提供商挺多的,如騰訊云、阿里云、百度云等,根據(jù)個(gè)人需要選購(gòu)即可,騰訊云主機(jī)相對(duì)便宜(西南地區(qū) - 成都,主機(jī)相對(duì)其他區(qū)域便宜一點(diǎn));
2. 域名申請(qǐng)\解析\備案
A. 域名申請(qǐng)
購(gòu)買(mǎi)域名,最好是云主機(jī)在哪里買(mǎi),域名就在哪里買(mǎi)吧,也省了域名轉(zhuǎn)入的事兒,比如主機(jī)、域名都在騰訊云購(gòu)買(mǎi);
B. 域名解析
購(gòu)買(mǎi)的云主機(jī)會(huì)有一個(gè)公網(wǎng)IP,通過(guò)將域名與ip地址綁定,可以實(shí)現(xiàn)通過(guò)域名訪問(wèn)服務(wù)。如騰訊云主機(jī)域名解析配置方式為:
登錄騰訊云控制臺(tái)---> 進(jìn)入域名頁(yè)面--->在域名上點(diǎn)擊[解析]--> 添加解析記錄
C. 域名備案
這個(gè)最蛋疼! 騰訊云提交備案信息,如個(gè)人信息、住址信息、×××信息、居住證信息、照片視頻等材料;
這個(gè)最耗時(shí)! 騰訊云審核1個(gè)工作日,管局審核理論上 20 個(gè)工作日左右(可能會(huì)快幾天) ;
這個(gè)是必須的! 微信小程序后臺(tái)域名必須備案,沒(méi)法繞過(guò),看開(kāi)發(fā)文檔的明確說(shuō)明:
3. 申請(qǐng)SSL證書(shū)\配置啟用https訪問(wèn)
A. 騰訊云提供了ssl證書(shū)的免費(fèi)申請(qǐng),具體可以查看騰訊云相關(guān)文檔,大致流程為:
登錄騰訊云-->ssl證書(shū)管理-->申請(qǐng)證書(shū)(免費(fèi))-->等待審核( 一個(gè)工作日內(nèi)完成審核,審核結(jié)果將以短信、郵件及站內(nèi)信的方式通知您。一般半個(gè)小時(shí)即可審核通過(guò) )
B. 配置啟用https
證書(shū)審批結(jié)果會(huì)以短信通知,審批通過(guò)后,可以在控制臺(tái)下載證書(shū)文件,且在apache中安裝配置( 記得配置后重啟apache服務(wù) )
4. 配置小程序服務(wù)器域名
域名備案通過(guò)后,登錄微信公眾平臺(tái)小程序,配置服務(wù)器域名,大致流程是:開(kāi)發(fā) -- 開(kāi)發(fā)設(shè)置 - 服務(wù)器域名 - 開(kāi)始配置,填寫(xiě)備案的域名;
三 部署Apache+mod_wsgi+Django
經(jīng)過(guò)前期的準(zhǔn)備,已經(jīng)有可以運(yùn)行后臺(tái)服務(wù)的主機(jī)和備案的域名,且支持https協(xié)議,接下來(lái)就需要將開(kāi)發(fā)好的后臺(tái)服務(wù)部署到云主機(jī),以便為微信小程序提供后臺(tái)API 訪問(wèn)。
1. Apache 安裝配置
我的騰訊云服務(wù)器使用的是 windows 2k8 R2 系統(tǒng),在 Apache 官網(wǎng)下載對(duì)應(yīng)的版本,解壓,配置 httpd.conf ,使用類似 httpd -k install -n " Apache2.4
" 的命令 可以 將 apache 注冊(cè)成 windows 服務(wù);
2. 安裝 mod_wsgi
下載與 Python 版本對(duì)應(yīng)的 mod_wsgi ,使用 pip install 安裝,并記錄安裝成功后出現(xiàn)的配置信息,以備后續(xù) httpd.conf 配置;
3. 配置 Django 項(xiàng)目
部署 Django 項(xiàng)目,配置 httpd.conf ,重啟 apache 服務(wù),如果配置無(wú)異常,通過(guò)配置的域名應(yīng)該可以正確獲得后臺(tái)響應(yīng)數(shù)據(jù),后臺(tái)接口數(shù)據(jù)一般以 json 格式返回。
httpd.conf 配置舉例如下,配置時(shí)注意依據(jù)實(shí)際路徑修改:
#安裝wsgi模塊后,mod_wsgi-express module-config命令輸出的三行信息,直接復(fù)制過(guò)來(lái) 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 #設(shè)置工程中的wsgi路徑 WSGIScriptAlias / C:\Dev\example\webApp\webApp\wsgi.py #設(shè)置工程路徑 WSGIPythonPath C:\Dev\example\webApp #設(shè)置wsgi路徑 <Directory C:\Dev\example\webApp\webApp> <Files wsgi.py> Require all granted </Files> </Directory> #設(shè)置靜態(tài)文件路徑 Alias /static C:\Dev\example\webApp\static <Directory C:\Dev\example\webApp\static> AllowOverride None Options None Require all granted </Directory>
四 總結(jié)
如果開(kāi)發(fā)的微信小程序需要后臺(tái)服務(wù)支持,域名備案是一個(gè)耗時(shí)等待的過(guò)程,因而,可以提前發(fā)起備案申請(qǐng);后臺(tái)服務(wù)部署涉及的細(xì)節(jié)較多,都可以單獨(dú)領(lǐng)出來(lái)寫(xiě)配置文檔,但配置相對(duì)比較容易,另外,考慮后臺(tái)服務(wù)器選擇種類眾多,全部寫(xiě)出來(lái),篇幅居多,參考性可能也不大,所以,只列出大致流程,對(duì)整個(gè)部署過(guò)程和涉及的事件有所了解即可,實(shí)際應(yīng)用中還要具體問(wèn)題具體分析。
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
詳解python3中tkinter知識(shí)點(diǎn)
本篇文章給大家分享了關(guān)于python3中tkinter的相關(guān)知識(shí)點(diǎn)以及實(shí)例代碼,有興趣的朋友參考下。2018-06-06四行Python3代碼實(shí)現(xiàn)圖片添加美顏效果
這篇文章主要為大家介紹了如何利用Python語(yǔ)言實(shí)現(xiàn)給圖片添加美顏效果,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起了解一下2022-04-04python 基于dlib庫(kù)的人臉檢測(cè)的實(shí)現(xiàn)
這篇文章主要介紹了python 基于dlib庫(kù)的人臉檢測(cè)的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-11-11Python中__str__()方法的實(shí)用技巧分享
在Python編程中,__str__()是一個(gè)特殊方法,它允許自定義對(duì)象的字符串表示形式,本文將深入探討__str__()的相關(guān)實(shí)用技巧,希望對(duì)大家有所幫助2023-11-11在Django框架中編寫(xiě)Context處理器的方法
這篇文章主要介紹了在Django框架中編寫(xiě)Context處理器的方法,Django是重多高人氣Python框架中最為著名的一個(gè),需要的朋友可以參考下2015-07-07詳解python使用turtle庫(kù)來(lái)畫(huà)一朵花
這篇文章主要介紹了python使用turtle庫(kù)來(lái)畫(huà)一朵花,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-03-03NumPy中np.random.rand函數(shù)的實(shí)現(xiàn)
np.random.rand是NumPy庫(kù)中的一個(gè)函數(shù),用于生成隨機(jī)數(shù),本文主要介紹了NumPy中np.random.rand函數(shù)的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2024-07-07