我正试图通过Gunicorn在Heroku上运行twoscoopsofdjango skeleton。
以下是项目根目录中的文件树(为了便于阅读,省略了一些不重要的文件夹):
.
├── LICENSE.txt
├── my_project
│ ├── manage.py
│ ├── my_project
│ │ ├── __init__.py
│ │ ├── settings
│ │ │ ├── base.py
│ │ │ ├── __init__.py
│ │ │ ├── local.py
│ │ │ ├── production.py
│ │ │ └── test.py
│ │ ├── urls.py
│ │ └── wsgi.py
│ └── templates
│ ├── 404.html
│ ├── 500.html
│ └── base.html
├── README.rst
├── requirements
│ ├── base.txt
│ ├── local.txt
│ ├── production.txt
│ └── test.txt
└── requirements.txt
现在我需要运行Gunicorn,好像它是从以下缩短树中的my_project
文件夹运行的:
.
├── LICENSE.txt
├── my_project
│ ├── manage.py
但是,我需要从项目根目录中提供命令,因为Heroku Procfile
仅在项目根目录的最低级别上获取。
所以在本地shell中我只需cd my_project
然后运行gunicorn my_project.wsgi --settings=my_project.settings.production
。但我不知道如何从Procfile
。
仅为了您的信息gunicorn --pythonpath=my_project my_project.wsgi --settings=my_project.settings.production
也不起作用。
答案 0 :(得分:0)
似乎我必须运行heroku ps:scale web=1
才能使其正常运行。这很奇怪,因为我100%确定我之前启动了其他Heroku项目,并且我没有必要运行该命令才能看到我的应用程序在http://my_project.herokuapp.com中运行。
我的Procfile在成功运行时看起来像这样:
web: cd my_project; gunicorn my_project.wsgi --settings=my_project.settings.production
我之前使用-w 1
选项运行了gunicorn:
web: cd my_project; gunicorn my_project.wsgi -w 1 --settings=my_project.settings.production
这可能激活了一个dyno。