【问题标题】:Deploying Django to Heroku using a Windows machine (Production server NOT development server)使用 Windows 机器将 Django 部署到 Heroku(生产服务器而不是开发服务器)
【发布时间】:2012-04-09 05:49:06
【问题描述】:

我使用的是 Windows 机器,并且有一个已成功部署到 Heroku 的 Django 项目,尽管使用的是开发服务器。要使用生产服务器 Heroku 似乎需要不在 Windows 上运行的“Gunicorn”。

这不利于在部署之前进行本地测试。有谁知道解决这个问题的任何方法?也许有办法在 Heroku 上使用不同的服务器?

【问题讨论】:

    标签: windows django deployment heroku gunicorn


    【解决方案1】:

    您需要做的就是从根目录指定 wsgi 脚本的路径:

    $web: gunicorn hellodjango.wsgi

    【讨论】:

      【解决方案2】:

      我找到了一个解决方案,在使用 Windows 机器部署到 heroku 时可能会有所帮助。这是我的工作:

      在本地使用开发服务器:

      python manage.py runserver
      

      在 settings.py 中安装并添加“Gunicorn”到您已安装的应用中。

      在根目录中添加一个进程文件,告诉 heroku 使用 Gunicorn 服务器。这是一个名为“Procfile”的文件,代码如下:

      web: python kalail/manage.py run_gunicorn --bind=0.0.0.0:$PORT
      

      这样您使用开发服务器进行测试,而 heroku 使用 Gunicorn 服务器。确保在此之后设置提供静态文件(css/js/imgs),因为只有开发服务器会自动提供静态文件,并且需要配置 Gunicorn 服务器来执行此操作。

      【讨论】:

        【解决方案3】:

        您可以很容易地在本地运行开发服务器:

        > python manage.py runserver
        

        【讨论】:

        • 也许我不够清楚。我可以很容易地运行开发服务器,它在 Windows 上本地使用生产服务器,所以我可以在推送到 Heroku 之前进行测试。这是一个问题,因为 Gunicorn 不能在 Windows 上运行。
        猜你喜欢
        • 1970-01-01
        • 2013-12-11
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-10-28
        • 2013-09-07
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多