2

我正在 Python 中启动一个新的 webapp 项目以进入敏捷思维模式,并且我想在部署方面“正确”地做一些事情。但是,我发现整个 virtualenv/fabric/zc.buildout/etc 的内容有点令人困惑——我习惯于将 PHP 文件通过 FTP 传输到服务器并将网络服务器指向它。

部署后,服务器设置如下所示:
Nginx --proxy-to--> WSGI Webserver (Spawning) --> WSGI Middleware --> WSGI App (probably MNML or similar)
python 网络服务器由 supervisord 管理。

我应该研究什么样的部署设置/包/应用程序?是否有我需要坚持使用我的应用程序以简化部署的特定目录结构?

4

3 回答 3

4

您的部署故事取决于您的应用。你在使用 Django 吗?然后Apache +mod_wsgi部署文档是一个很好的起点。然后你可以用谷歌搜索更多细节,比如这个2 部分 系列使用pipvirtualenvgitfabric

真的,fabricvirtualenv和所有其他工具旨在使您的部署更易于维护和自动化。最初,文档中的步骤可能就足够了。在您了解事情的运作方式后,您可以重新审视以改进您的流程。

于 2009-10-08T11:49:33.883 回答
2

我听说过有关Fabric的好消息:

Fabric 是一个 Python 库和命令行工具,旨在通过 SSH 协议简化部署应用程序或执行系统管理任务。它提供了用于运行任意 shell 命令(作为普通登录用户或通过sudo)、上传和下载文件等的工具。

于 2009-10-08T11:49:55.903 回答
2

您已经提到了扩建,这就是您所需要的。谷歌例如不同部分的构建。第一次设置它需要一些时间,但是你也可以在不同的项目之间重用设置。

让 supervisord 启动一切,而不仅仅是 python 服务器。然后在 fron cron 或 init.d 重新启动时启动 supervisord。

于 2009-10-08T12:48:45.457 回答