【问题标题】:How to run nginx + python (without django)如何运行 nginx + python(没有 django)
【发布时间】:2012-05-03 00:12:05
【问题描述】:

我想在 python 中创建一个可以处理不同请求(POST、GET、MULTIPART-FORMDATA)的简单程序。我不想使用完整的框架。

我基本上需要能够获取 GET 和 POST 参数 - 可能(但不一定)以类似于 PHP 的方式。获取其他一些 SERVER 变量,例如 REQUEST_URI、QUERY 等。

我已经成功安装了 nginx,但是我没有找到一个很好的例子来说明如何做剩下的事情。因此,欢迎提供一个简单的教程或任何关于如何设置 nginx 来为特定虚拟主机运行特定 python 进程的指导和想法!

【问题讨论】:

  • 你看过烧瓶吗?用于构建 webapps 的超轻量级框架
  • 我不需要webapp,只需要一个处理简单请求的简单程序。
  • 烧瓶就是这样。它是 wsgi 服务器 (werkzeug) 的接口,并且有一些你可以忽略的模板系统。
  • tkone,我实际上设法从 Flask 页面中的示例和说明中使用 nginx 运行 Python,现在正在使用它。请添加您的评论作为答案,以便我接受。
  • 答案已添加。 (ps邮件列表是flask帮助的好地方)

标签: python nginx web fastcgi


【解决方案1】:

虽然您可以使用 wsgiref 让 Python 自己运行网络服务器,但我建议您使用 many Python webservers 之一。

对于 Nginx,我会考虑 Gunicorn 或 uWSGI。

【讨论】:

    【解决方案2】:

    您应该考虑使用 Flask——它是一个非常轻量级的 WSGI 服务器 (werkzeug) 接口,它还包括一个模板库,如果您想使用它的话。但如果你愿意,你可以完全忽略它。

    【讨论】:

    • 哇,Flask 看起来很棒!正是我想要的:)
    【解决方案3】:

    您可以使用 thttpd。它是一个用于运行 cgi 脚本的轻量级 wsgi 服务器。它适用于 nginx。此处详细介绍了如何使用 Nginx 设置 thttpd:http://nginxlibrary.com/running-cgi-scripts-using-thttpd/

    【讨论】:

    • 不错的解决方案 :) 但是应该注意的是,使用 cgi 通常不是一个好的计划,使用 cgi 你必须为每个请求启动一个新进程,这与保持进程相比相当慢运行并让它处理多个请求。
    【解决方案4】:

    同样你必须使用 wsgi 服务器,因为 nginx 不完全支持这个协议。

    【讨论】:

      猜你喜欢
      • 2011-11-13
      • 2020-05-18
      • 2013-07-25
      • 2020-05-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-08-23
      相关资源
      最近更新 更多