1

我被困在没有root访问权限的服务器上。它具有 Python 2.6.5 并运行 lighttpd,为 CGI 下的所有 Python 脚本提供服务。是的,普通的旧 CGI。不幸的是,我只能使用这个服务器,所以切换到更合适的主机不是一种选择。所以,我的问题是:在这些情况下我可以使用 Python 的任何 Web 框架吗?除了 HTTP 500 错误之外,我尝试了 Django、web.py 和 Flask,但没有任何成功,但也许我只是遗漏了一些东西。

同样,要求是:

  • Python 2.6.5
  • 轻量级
  • 普通的旧 CGI
  • 没有root权限

谢谢你。

4

1 回答 1

1

一些聪明的小伙子设法通过 mod_cgi 使它在 virtualenv 上工作。您需要在Django 项目(实际上是一个 WSGI 应用程序)之间建立一些CGI-WSGI 桥梁。mod_cgi有一些事情需要适应,例如,如果你正在使用 a virtualenv(我强烈建议你这样做)。

该脚本经过深思熟虑,但我想仍有request.FILES可能处理不当。我希望你没有使用文件上传。另外,请注意使用 CGI 时性能会下降,因为每次请求都会重新加载整个应用程序。使用 FastCGI 或普通 WSGI,可以在实际服务请求之前启动项目的多个实例,并且每个实例可以在其生命周期内处理多个请求(一次一个)。这使您可以有更快的加载时间,因为所有内容仍然是从先前的请求中预加载的。

另请注意,可以在.cgi文件中复制该功能:您可以启动应用程序的多个实例并写入它们的套接字,使用random.random轮换进行负载平衡。

于 2013-03-31T05:40:40.680 回答