一 前言
微信小程序,相信大家早已熟知,它是一种无需下载安装即可使用的轻型应用,具有跨平台和接近 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