如何让Web服务器(例如Apache)直接调用Python?

2024-03-10

(重要)免责声明:我知道这可能不是一个好主意,Python 与 PHP 不同,并且使用 Python 进行 Web 开发的“自然”方式更多是使用 Bottle、Flask、Django(我已经使用过)之类的框架)等。但是,出于好奇,我还是想看看以下内容是如何可能的.


当Apache + PHP安装完毕后,我们可以访问这样的页面http://www.example.com/index.php。在内部,Apache 可能会将请求传递给 PHP,PHP 执行代码,生成文本输出,然后由 Apache 提供服务。

问题:我们如何在 Python 中做类似的事情?即通过访问http://www.example.com/index.py, Apache 会调用该脚本index.py:

print("<html><body>Hello world</body></html>")

然后 Apache 会将这个页面提供给客户端。


NB:

  • Calling http://www.example.com/index.py?foo=bar甚至可以将参数传递给 Python 脚本sys.argv

  • 我已经这样做了:http://www.example.com/index.php:

    <?php 
    $out = shell_exec("python index.py"); 
    echo($out); 
    ?>
    

    然后调用 Python 脚本并生成输出。它可以工作,但我想在没有 PHP 的情况下完成它。

  • 换句话说,有没有类似的东西mod_php https://stackoverflow.com/questions/2712825/what-is-mod-php对于Python?


存在一个类似模组 https://en.wikipedia.org/wiki/Mod_python对于python,但它的使用并不广泛,而且似乎已经几年没有更新了。

注意:一种常见的做法是使用 apache/nginx 作为 Web 服务器,使用 uwsgi 作为应用程序服务器,Web 服务器重定向到应用程序服务器以获取非静态内容 url。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何让Web服务器(例如Apache)直接调用Python? 的相关文章

随机推荐

  • Asp.net MVC 中的 TimeSpan 和“24:00”解析错误

    我的 Web 应用程序中有一个模式对话框 用户可以在其中输入 00 00 到 24 00 之间的时间范围 范围滑块用于选择该范围 一切都按预期工作 除了每当用户将正确的范围句柄设置为具有值 24 00 时 默认模型绑定器无法解析此值Time
  • 对于不成功的 Try() 方法,输出值应该设置为多少?

    我正在实现 TryParse string s Out object result 方法 如果解析失败 我不想触及 out 参数 因此之前的任何结果都将保持不变 但 VS2k8 不让我这么做 无论如何 我都必须设置 out 对象的值 我应该
  • Spring Boot - Websockets - 如何查看订阅者

    我正在开发一个 websocket 应用程序 我试图让一个 websocket 提供信息 然后输出给端点的订阅者 我已经弄清楚了 但我想知道是否有办法查看订阅了哪些订阅者以及订阅了什么路径 这是我正在处理的代码示例 Autowired pr
  • 图灵机的 C 语言实现

    我正在为形式语言理论课程研究图灵机 教授建议运行以下内容算法 http code zhoubot com archives 52详细查看 TM 背后的逻辑 但不起作用 当尝试编译时告诉我以下错误 C Documents and Settin
  • 在 ASP MVC 3 中创建可下载文本文件时无法访问关闭的流

    我试图提示可下载的文本文件 txt 但出现此错误 无法访问关闭的流 我在这里查看了类似的问题 无法访问关闭的流 https stackoverflow com questions 2331675 cannot access closed s
  • Valgrind 和 CUDA:报告的泄漏是真的吗?

    我的应用程序中有一个非常简单的 CUDA 组件 Valgrind 报告了大量泄漏和仍然可达的情况 所有这些都与 cudaMalloc 调用有关 这些泄露是真的吗 我打电话cudaFree对于每一个cudaMalloc 这是 valgrind
  • 需要截断 Razor HTML DisplayFor Helper

    我试图截断一个有时非常大或有时在数据库中为空的文本字段 即 Html DisplayFor modelItem gt item MainBiography 并在末尾替换为三个点 我尝试过 substring 函数 但不断出现错误 任何指点
  • ActiveDirectoryMembershipProvider 与 Azure Active Directory

    我意识到还有其他 首选 方法可以使用 Azure Active Directory 实施身份验证 但是否可以使用标准ActiveDirectory会员提供者 with Azure 活动目录 for an Azure 网站 不能 无法将 Ac
  • 按组求和大于当前值的值

    我测量了不同地块中树木的断面积 这是一个小例子 有两个地块 每个地块有 4 棵树 Plot Tree BasalArea 1 1 4 1 2 5 1 3 7 1 4 3 2 1 4 2 2 6 2 3 9 2 4 5 在每个图中 我想计算基
  • 在 Android 日历中添加事件日期和时间

    我正在尝试在我的 Android 日历事件中添加以下日期和时间 Title and description Events for test Start Date May 05 2012 07 10PM End Date May 06 201
  • 如何选择不包括其子节点的节点的根值?

    我需要访问每个字段的新值 如果存在 和 上一个 值 以确定记录是否有更改 XML 负载示例
  • 如何从WebView获取网页内容?

    在Android上 我有一个WebView正在显示一个页面 如何获取页面源而不再次请求页面 它似乎WebView应该有某种getPageSource 方法返回一个字符串 但可惜它没有 如果我启用 JavaScript 则在此调用中放入适当的
  • 从 lxml.objectify.ObjectifiedElement 中剥离 python 命名空间属性 [重复]

    这个问题在这里已经有答案了 可能的重复 使用lxml时 可以在没有命名空间属性的情况下呈现XML吗 https stackoverflow com questions 5084730 when using lxml can the xml
  • 如何在python中将字符串转换为ip地址

    如何将字符串 ip 地址转换为十进制数 例如我有一个数据字节 b 363 3 1778952384 7076 here 1778952384是我的 IP 地址 7076是我的港口 如何将我的 IP 地址转换为十进制数 下面是我的代码 请帮我
  • 当“玻璃盒”测试导致“更少”测试时,我是否应该使用它?

    例如 我正在针对 CsvReader 编写测试 这是一个简单的类 用于枚举和分割文本行 这只是存在的理由忽略引号内的逗号 它还不到一页 通过 黑盒 测试课程 我检查了诸如 如果文件不存在怎么办 如果我没有该文件的权限怎么办 如果文件包含非
  • Nuget - 打包具有多个项目的解决方案(针对多个框架)

    假设我有以下解决方案 其中包含相同代码的多个版本 每个版本都针对不同的框架 并且我想从中生成一个 nuget 包 SharedLib sln SharedLib Net35 csproj packages config SharedLib
  • 为什么不允许 double 作为非类型模板参数? [复制]

    这个问题在这里已经有答案了 2003 年 是的 2003 Vandervoorde 和 Josuttis 在他们的书 C Templates 第 40 页 中写道 无法使用浮点文字 和简单的常量浮点表达式 作为模板参数有历史原因 由于不存在
  • 有没有办法让 ASP.NET 5 依赖注入在没有引用的情况下解析 DbContext?

    我正在使用 MVC 6 进行一些原型设计 但遇到了困境 我们的项目架构非常简单 数据层 实体框架 6 服务层 类库 引用数据层 表示层 MVC 4 参考服务层 does not参考数据层 我试图使设计尽可能与原始设计相似 即使在阅读 并同意
  • React-toastify 显示多个 toast

    我正在构建一个包含多个组件的 React 应用程序 并且我正在使用其中至少一半的组件React notify除了一个之外 几乎所有这些都可以正常工作 在这个中 当我触发 toast 时 我会得到四个 toast 一个在另一个后面 但我相信它
  • 如何让Web服务器(例如Apache)直接调用Python?

    重要 免责声明 我知道这可能不是一个好主意 Python 与 PHP 不同 并且使用 Python 进行 Web 开发的 自然 方式更多是使用 Bottle Flask Django 我已经使用过 之类的框架 等 但是 出于好奇 我还是想看