Python Web服务器 - mod_wsgi

时间:2013-11-15 02:13:05

标签: python apache2 mod-wsgi

我一直在寻找设置一个使用Python的Web服务器,我已经在Debian 7 Wheezy上安装了带有mod_wsgi的Apache 2.2.22。我已经获得了初始页面,Apache将显示我目录中的wsgi文件的内容。

但是,我一直在研究如何部署Python应用程序,我必须管理,我发现它有些令人困惑。我来自PHP的背景,它在字面上安装你需要的东西,你正在运行,PHP正在以它应该的方式处理。

这与Python相同吗?我似乎无法在我设置的wsgi文件之外处理任何事情。如果没有服务器抛出“500”错误,我无法从其他文件导入任何内容。我看过谷歌和必应试图找到答案,但我似乎找不到任何东西,或者不知道我一直在看的是答案。

我非常感谢你们提供的任何帮助。

提前致谢! (如果我需要发布任何编码,我可以这样做,我只是不知道你们需要什么,如果有的话,就编码示例来说......)

1 个答案:

答案 0 :(得分:1)

Python与PHP的不同之处在于,PHP会针对您网站的每次点击分别执行整个程序,而Python会运行驻留在内存中的“工作进程”。

您需要某种Web框架来为您完成这项工作(您可以自己编写,但使用其他人的框架可以使其更容易)。烧瓶是轻巧的一个例子; Django是一个非常沉重的例子。选择一个并遵循该框架的说明,或查找该框架的教程。由于框架不同,大多数关于使用Python处理Web服务的实用文档都围绕一个框架而不是仅仅围绕语言本身。

几乎任何python Web框架都有一个可以在本地运行的开发服务器,因此您无需担心部署。当你准备好部署时,Apache会工作,虽然使用Gunicorn或其他特定于python的web服务器通常更容易和更好,然后如果你需要更多的webserver功能,可以将nginx或Apache设置为反向代理。 Apache是​​一个非常繁重的应用程序,只能用于wsgi功能。您还可以选择部署到像Heroku这样的PaaS服务(免费用于开发工作,为生产应用程序付费),这将为您处理大量系统管理员工作。

顺便说一句,如果您没有使用virtualenv来设置Python环境,那么您应该查看它。它可以更容易地跟踪您已安装的内容,安装新软件包以及隔离环境,以便您可以在同一台计算机上处​​理多个项目。