【问题标题】:Deploying Django: How do you do it?部署 Django:你是怎么做的?
【发布时间】:2010-09-11 23:06:19
【问题描述】:

我尝试过遵循this one 之类的指南,但它对我不起作用。

所以我的问题是:什么是部署 Django 的好指南,以及如何部署 Django。

我一直听说 capastrano 非常好用,但我不知道如何使用它或它的作用(除了部署代码的自动化),或者即使我想要/是否需要使用它.

【问题讨论】:

    标签: python django-deployment


    【解决方案1】:

    mod_wsgi 与所有依赖项的 virtualenv 结合使用,对 virtualenv 进行反复检查,并使用 fabric 配方检查服务器上的更改。

    我写了一篇关于我平时工作流程的文章:Deploying Python Web Applications。希望对您有所帮助。

    【讨论】:

    • +1 用于 mod_wsgi 和 virtualenv,还推荐使用 virtualenvwrapper、pip 和 pip 要求文件来处理依赖关系。
    • 我同意更新链接的请求。我特别感兴趣的是virtualenv 是否真的有效,或者工作起来更像是一场噩梦......
    • @Nai, found it here - 请注意,我会称之为更多,一些简短的 cmets,而不是完整的文章或教程。
    【解决方案2】:

    我在mod_wsgi 上取得了成功

    【讨论】:

      【解决方案3】:

      在我之前的工作中,我们有一位真正的天才人物负责部署,他将应用程序(Python、SQL、Perl 和 Java 代码)部署为为 Ubuntu 构建的一组 deb 文件。不幸的是,我现在没有这样的支持。我们正在手动将应用程序部署到 virtualenv-ed 环境中,并为 FastCGI 使用单独的 nginx 配置。我们使用paver 部署到远程服务器。这很痛苦,但它有效。

      【讨论】:

        【解决方案4】:

        【讨论】:

          【解决方案5】:

          我使用 mod_python,并将每个站点都放在一个 git 存储库中,其中包含以下子目录:

          • 我的网站
          • 模板
          • 媒体

          我在.gitignore 中有mysite/settings.py,并像这样工作:

          1. 在我的本地机器上进行开发
          2. 在网络服务器上创建远程存储库
          3. 将我的更改推送到网络服务器存储库
          4. 设置 apache vhost 配置文件,调整实时服务器 settings.py
          5. 在网络服务器 repo 上运行 git checkout && git reset --hard && sudo /etc/init.d/apache2 restart 以获取其工作副本的最新版本并重新启动 apache
          6. 每当收到更改请求时重复第 1、3 和 5 步

          【讨论】:

            【解决方案6】:

            最简单的方法是使用http://djangofriendly.com/hosts/ 上的一个网站,该网站将为您提供托管和设置,但即使您想自己动手,它也可以让您查看其他设置网站正在使用。

            【讨论】:

              猜你喜欢
              • 2020-08-13
              • 2011-12-31
              • 2012-08-27
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2010-10-21
              • 2010-10-13
              相关资源
              最近更新 更多