开发者社区> 问答> 正文

部署基于 python wsgi web 框架的工程到函数计算?

部署基于 python wsgi web 框架的工程到函数计算?

展开
收起
小天使爱美 2020-03-27 17:03:08 1543 0
1 条回答
写回答
取消 提交回答
  • 本文旨在介绍如何将基于 WSGI web 框架构建的工程部署到函数计算 python runtime 的具体操作过程,在介绍操作过程之前,先了解几个概念。

    相关概念导读 函数计算 HTTP 触发器 HTTP 触发器是众多函数计算触发器中的一种,通过发送 HTTP 请求触发函数执行。主要适用于快速构建 Web 服务等场景。HTTP 触发器支持 HEAD、POST、PUT、GET 和 DELETE 方式触发函数。具体详情可以参考 HTTP 触发器

    什么是WSGI WSGI的全称是 Web Server Gateway Interface,简单翻译就是 Web 服务器网关接口。具体来说,WSGI 是一个规范,定义了 Web 服务器如何与 Python 应用程序进行交互,使得使用 Python 写的 Web 应用程序可以和 Web 服务器对接起来。最新官方版本是在 Python 的 PEP-3333 定义的。

    WSGI 如何工作 在 WSGI 中定义了两个角色,Web 服务器端称为 server 或者 gateway,应用程序端称为 application 或者 framework(因为 WSGI 的应用程序端的规范一般都是由具体的框架来实现的,下面统一使用 server 和 application 这两个术语,WSGI 相当于是 Web 服务器和 Python 应用程序之间的桥梁。server 端会先收到用户的请求,然后会根据规范的要求调用 application 端,然后 server 会将调用 application 返回的结果封装成 HTTP 响应后再发送给客户端,如下图所示:

    wsgi-fc

    如果想了解更多关于WSGI的内容,请查阅 PEP-3333

    函数计算遇见 WSGI FC python runtime 是 server,用户的函数是 application,applicaiton 可以完全自己实现,也可以基于 wsgi 的 web 框架上进行函数开发,具体可以参考 HTTP 触发器 Python-Runtime , 本文主要讲解如何运用 python wsgi 的 web 框架开发的工程部署到函数计算环境中。

    Frameworks that run on WSGI 目前有很不少 Frameworks 是基于 WSGI 协议的,比如 Flask,Django 等,具体可以参考 Frameworks that run on WSGI, 本文讲解两个框架的的工程如何部署在函数计算中:

    Flask

    Django

    具体详情参考: fc-python-web

    部署 准备工作 免费开通 函数计算

    准备域名(国内的需要备案过), 并将域名 CNAME 解析到对应的 FC EndPoint

    比如将自己的域名 flask.mydomain.cn 解析到 123456.cn-hangzhou.fc.aliyuncs.com, 对应的域名、accountId 和 region 修改成自己的

    安装 Fun 工具 安装版本为8.x 最新版或者10.x 、12.x nodejs

    安装 funcraf

    $ npm install @alicloud/fun -g 安装完成后, 执行 fun config,按照提示完成 fun 的配置,参考:getting_started

    Clone 工程,在工程目录上,命令行输入 fun deploy 执行 $ git clone https://github.com/awesome-fc/fc-python-web.git $ cd fc-python-web

    先将 template 中的 CustomDomain 修改成自己的

    $ fun deploy

    2020-03-27 17:36:22
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Web应用系统性能优化 立即下载
高性能Web架构之缓存体系 立即下载
PWA:移动Web的现在与未来 立即下载