为Heroku配置Django应用程序
在这篇文章中,我们将逐步学习如何为Heroku配置Django应用程序。
Heroku是一个基于云的应用程序部署和管理服务,支持多种编程语言,如Ruby、Java、Node.js、Scala、Clojure、Python、PHP和Go。它需要一个Procfile,这个文件用来声明你的入口点和应用程序的进程。
分步实现
第1步:创建环境:
在你的Django项目文件夹中创建一个虚拟环境。运行以下命令。
python -m venv .venv
第2步:虚拟环境:
在以下命令的帮助下进入创建的环境。
source .venv/bin/activate
第3步:安装依赖性:
与gunicorn一起安装运行你的Web应用程序所需的所有包和库。
注意:如果你的应用程序使用Django,你可能还需要安装更多的依赖项。例如,Djangorestframework
pip install django gunicorn
第4步:要求文件:
创建一个 “requirements.txt “文件,以便Heroku知道它运行我们的应用程序所需的所有依赖性。
pip freeze > requirements.txt
第5步:Procfile:
在你的根目录下创建一个名为 “Procfile “的文件,并编写以下内容。
web: gunicorn [project-name].wsgi --log-file -
第6步:运行时文件:
在你的根目录下创建一个名为 “runtime.txt “的新文件,它告诉Heroku你的应用程序正在使用哪个版本的Python。
你可以按照 “python -version “命令检查你的版本,并将其粘贴到runtime.txt中。
python-3.x.xx
第7步:调试设置:
自己导航到projects下的settings.py文件,设置调试值为False(默认=True)。
注意:不要在打开DEBUG的情况下将网站部署到生产中。
DEBUG = False
第8步:允许的主机:
在允许的主机列表中添加你的Heroku应用程序的URL和本地主机,该列表在你的settings.py文件中。
你也可以像这样省略应用程序的名称,允许来自Heroku的所有应用程序。
ALLOWED_HOSTS = [‘.herokuapp.com’] ,你也可以使用[‘*’]来允许所有的主机。
ALLOWED_HOSTS = ['127.0.0.1', '<HerokuAppName>.herokuapp.com']
现在你的Django应用程序已经被配置成可以在Heroku上部署。所以你可以继续部署了。