使用Windows机器将Django部署到Heroku(生产服务器而非开发服务器)

7

我使用的是Windows机器,有一个Django项目,已经成功部署到了Heroku上,但是使用开发服务器。要使用生产服务器,Heroku似乎需要使用在Windows上无法运行的'Gunicorn'。

在部署前在本地进行测试不能这样做,有没有人知道解决办法?或者在Heroku上使用不同的服务器的方式?

3个回答

4
我发现了一个解决方案,可以帮助使用 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服务器需要进行配置才能实现。

1

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

> python manage.py runserver

2
也许我没有表达清楚。我可以轻松地运行开发服务器,但在本地使用生产服务器进行测试,然后再推送到Heroku是个问题,因为Gunicorn不能在Windows上运行。 - Kalail

0
你所需要做的就是从根目录指定到wsgi脚本的路径: $web: gunicorn hellodjango.wsgi

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接