【问题标题】:Replace PHP with Python with Apache用 Apache 替换 PHP 和 Python
【发布时间】:2011-07-07 18:51:20
【问题描述】:

基本上我正在寻找一种方法来摆脱我对 PHP 的依赖,并且我想切换到 Python。我很难找到一种基本上使 python 成为替代品的方法。我对 Django 很熟悉,但对于我必须做的大多数小事情来说,它不够快而且不够脏。所以我想知道是否有 Apache 模块或设置 mod_wsgi 以提供 *.py 文件的方式与 mod_php 从服务器根目录提供 *.php 的方式相同?

注意:我已经找到了各种用于从 PHP 调用代码的 php python 扩展,但这并不能真正解决花括号的问题。

【问题讨论】:

  • Python 和 PHP 只是两种不同的野兽,不仅仅是语法不同的问题。你要么跳,要么不跳。 :)
  • 除了放逐之外,没有什么能解决花括号地狱的问题。

标签: php python apache mod-wsgi


【解决方案1】:

mod_wsgi 调用的文件 Python 文件。此外,如果您将它们设置为守护程序模式,则更新 python 文件将重新启动守护程序。挺好看的。

如果 Django 过度杀伤,您可以查看的另一件事是 Werkzeug,它几乎只是服务器接口。然后稍后您可以使用SqlAlchemy 添加数据库访问权限和/或使用Jinja2 进行模板化。或者不。

这些部分几乎是人们想要 Django 作为部分时使用的东西,而且我听说如果需要维护更多工作(需要一些组装),它们会更强大。

【讨论】:

  • 我知道 mod_wsgi 调用 python 文件,但是有没有办法让它像处理 HTML/PHP 一样在 doc 根目录下钻取目录/文件,或者我只需要编写一个委托脚本总是由 mod_wsgi 调用并让它委托调用哪个脚本?
  • 后者。 WSGI 的特性之一是Python 代码不会暴露在服务器上。通常,您会在服务器上为静态内容设置另一个路径,而不是将其与代码混合。
  • 我最喜欢您的回答,因为您为我指明了正确的方向,即没有完全重新发明轮子。虽然在查看 Werkzeug 之后,我发现了一种看起来更加准系统的方法,称为 web.py:webpy.org
【解决方案2】:

是的,您可以使用 mod_wsgi 做到这一点,但如果您是开发 Python Web 应用程序的新手,那么使用它可能会很痛苦。无论哪种方式,请阅读以下位置的文档:

http://code.google.com/p/modwsgi/wiki/ConfigurationGuidelines#The_Apache_Alias_Directive

您可以像使用 CGI 或 PHP 脚本一样使用 AddHander。

【讨论】:

    【解决方案3】:

    如果您使用过 php,那么您对 ​​mod_php 也很熟悉

    还有 mod_python (http://www.modpython.org/) 但它不是活跃的社区(有很多文章如何使用 mod_python (http://docs.djangoproject.com/en/dev/howto/deployment/modpython/) 设置 django)

    但最好使用wsgi和uwsgi

    【讨论】:

    • mod_python 项目没有活跃的社区,因为它已正式死亡,Apache 软件基金会已将其送至 Attic。
    • @graham Dumpleton:是的,是的;)
    • mod_python 的工作方式与 mod_php 不同:docs.python.org/howto/webservers.html#mod-python
    • 是的,但对于 php 开发人员来说,它比 uwsgi 和其他人更容易;)
    猜你喜欢
    • 2014-09-25
    • 1970-01-01
    • 1970-01-01
    • 2023-03-26
    • 1970-01-01
    • 2023-03-10
    • 1970-01-01
    • 1970-01-01
    • 2017-03-07
    相关资源
    最近更新 更多