python代码接口实现

本文档详细介绍了如何配置Apache服务器,安装mod_wsgi模块,创建Flask工程,并修改Apache配置文件,以实现Python后端通过API为微信小程序提供服务。Apache是广泛应用的Web服务器,mod_wsgi用于在Apache上部署Flask应用,Flask则作为Python后端框架。通过这些步骤,成功搭建了一个对外提供API的服务器。
摘要由CSDN通过智能技术生成

导言

第一次开发微信小程序,计划使用云开发,调用云函数。而后端的算法涉及到自然语言处理,因此我们决定使用python作为后端的语言,不过不巧的是python不支持云函数。因此决定将代码上传服务器并对外提供api。再在微信小程序中调用api,而微信小程序中调用api的方式也非常简便,这将在文章最后进行讲述。现在首要任务是能够实现python代码的api,使微信小程序能够调用后端的函数。在指导老师的建议下决定使用apache+wsgi+flask。下面我将对这系列流程进行图文讲述。

what is Apache?

    Apache(音译为阿帕奇)是世界使用排名第一的Web服务器软件。它可以运行在几乎所有广泛使用的计算机平台上,由于其跨平台和安全性被广泛使用,是最流行的Web服务器端软件之一。它快速、可靠并且可通过简单的API扩充,将Perl/Python等解释器编译到服务器中。
    简而言之,只要将网页设置在Apache上,外界就能够访问这个网页。

一、配置Apache

1.下载

下载Apache(官方网址):http://httpd.apache.org/
首页下载
点击下载后进入后下一个界面再点击

Files for Microsoft Windows

在这里插入图片描述
进入下一个界面再点击

ApacheHaus

在这里插入图片描述
ok,现在让我们开始下载Apache
在这里插入图片描述

2.启动apache服务

下载好之后会有一个Apache24压缩包,我们将其解压至自己的某个路径下,并且
在这里插入图片描述
现在启动一下apache服务
在这里插入图片描述
输入地址访问:
http://localhost/ 显示下面的这个界面即代表apache安装成功。
在这里插入图片描述

二、安装mod_wsgi

flask自带的开发Web服务器表现很差,响应慢,而且直接通过nginx进行反向代理,经常无法响应请求。有两个可以在生产环境中使用、性能良好且支持Flask程序的服务器,分别是Gunicorn和uWSGI,但是这两个模块不提供对window的支持。
因此我们需要使用mod_wsgi这个模块使得flask能够在apache上进行部署,mod_wsgi模块是一个python写的Apache的FastCGI模块。

下载编译好的 mod_wsgi
https://www.lfd.uci.edu/~gohlke/pythonlibs/#mod_wsgi
在这里插入图片描述
我下载的是下面这个版本的(上面的是老图)
在这里插入图片描述
下载好之后进行安装
在命令行下,进入自己下载的python下面的Script文件执行下面的命令

pip3 install "mod_wsgi-4.5.15+ap24vc14-cp36-cp36m-win_amd64.whl"  

安装成功后再运行下面的命令

mod_wsgi-express module-config

重点:将执行mod_wsgi-express module-config后控制台中显示的这三行内容拷贝到 http.conf 中
我这里显示的是

LoadFile "c:/users/administrator/appdata/local/programs/python/python39/python39.dll"
LoadModule wsgi_module "c:/users/administrator/appdata/local/programs/python/python39/lib/site-packages/mod_wsgi/server/mod_wsgi.cp39-win_amd64.pyd"
WSGIPythonHome "c:/users/administrator/appdata/local/programs/python/python39"

具体在这个位置
在这里插入图片描述

重新启动Apache
没有报错则表示 mod_wsgi 模块在加载成功了。

注:很多教程都是用的mod_wsgi.so,但是已经找不到对应的版本的了。

三、创建工程并安装flask

在自己工程下执行下面的命令

pip install Flask

在工程下面创建这两个文件,一个py文件,一个wsgi文件(后面我把wsgi文件改成了py文件一样的可以运行)
在这里插入图片描述
下面是test.py的内容
在这里插入图片描述
下面是test.wsgi的内容
在这里插入图片描述

四、修改apache配置文件

打开Apache/conf/httpd.conf。
在这里插入图片描述
重启apache服务
在这里插入图片描述
仅仅是我这里命名的为Apache16,具体名字要看自己。
在这里插入图片描述
在浏览器访问自己设置的链接在浏览器访问自己设置的链接http://自己服务器的ip地址/flasktest/hello?name=CZY

这里解释一下整个链接的组成:

  1. http://后面接自己服务器的ip地址
  2. flasktest:是之前在httpd.conf文件里面设置的,你在文件里面如果写的是其他的字符串,那么链接这个地方也会对应的修改
    在这里插入图片描述
  3. hello:是因为test.py里面flask设置的路径,在app.route()里面设置的
  4. name=CZY:这个部分是参数,需要由调用的地方传参数进来。由于我们在py文件里使用了request.args.get()所以调用接口的地方必须给我们传这么一个参数。如果我们接口里面没有写这句话,调用时就不需要传。

最后展示一下访问链接得到的结果
在这里插入图片描述
至此,就实现了python对外提供api(后续会更新微信小程序调用api的方法)

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

红糖毛血旺

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值