gpt4 book ai didi

python - 我如何使用 Apache 来运行 python 脚本?

转载 作者:行者123 更新时间:2023-12-01 01:37:13 26 4
gpt4 key购买 nike

有多种方法,但没有明确的教程或任何在线内容来说明如何使用 apache 运行基本的 Python 脚本。

mod_python?计算机图形接口(interface)? WSGI?

python需要安装什么东西吗?

真是令人困惑。我已经为此工作了几个小时。

最佳答案

流量

客户端访问网页,例如 http://example.com/mangojuice (问题 1)。你的服务器(apache)应该知道 mangojuice 指的是/etc/www/superhightechjuice/mango.py。现在应该执行这个 python 文件(问题 2)。 Apache 应该知道 .py 应该被执行而不是简单地提供服务。但Python不知道何时唤醒并运行。因此需要另一个实体(问题 3)。

这三个问题(接口(interface))的解决方案由mod_wsgi处理:WSGI继承自CGI概念(用于执行perl脚本和php脚本),扩展到Python脚本(具有附加功能)。 mod_wsgi 是 Graham Dumpleton 在 Apache 中实现它的方式,现在已成为一个标准。

  1. 问题 1 - 执行映射的 Conf 文件 -/etc/apache2/conf-available/wsgi.conf
  2. 问题 2 - 安装 mod_wsgi - 在安装过程中,它会更新 apache 配置文件以通知应执行 .py;以及许多其他事情
  3. 问题 3 - 功能 - 应用

代码

def application(environ, start_response):
status = '200 OK'
message = b"Hello World" #Prefix b is useful to convert string to bytestring, which is needed by HTTP
response_header = [('Content-type', 'text/html')]
start_response(status, response_header)
return [message]

原因

当您设置 mod_wsgi 时,它通过映射文件 wsgi.conf 解决了问题 1。它通过更新 apache 的 .conf 文件以及其他基于操作系统的设置解决了问题 2。对于问题3,它告诉apache,我是一个中间件,每当我看到'应用程序'的引用时,我都会通知你,你们俩都可以交谈(Apache和Python)。这就是 mod_wsgi 提供的帮助。

设置 mod_wsgi 的步骤

  1. 安装 Apache2 的 mod_wsgi

    sudo apt install libapache2-mod-wsgi

  2. 重新启动 Apache 以刷新所有更新

    apachectl restart

  3. 创建映射文件

    vi /etc/apache2/conf-available/wsgi.conf

  4. 使用 url 和本地路径更新映射文件

    WSGIScriptAlias /mangojuice /etc/www/superhightechjuice/mango.py

  5. 在/etc/www/superhightechjuice/mango.py 创建实际代码

    Code sample same as mentioned above. start_response tells mod_wsgi that requests are incoming. mod_wsgi talks with Apache and lets your code through.

引用:

Official mod_wsgi documentation

关于python - 我如何使用 Apache 来运行 python 脚本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52284749/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com