gpt4 book ai didi

django - 部署到 Heroku 时指定项目根目录

转载 作者:行者123 更新时间:2023-12-02 08:06:36 26 4
gpt4 key购买 nike

我的问题:

当使用gunicorn作为我的WSGI HTTP服务器时,foreman无法找到Django(wsgi?)应用程序。

应用程序结构:

在我的 Django 应用程序中,我的结构如下:

<git_repository_root>/
<django_project_root>/
<configuration_root>/

<git_repository_root>包含项目管理和部署相关的内容( requirements.txtProcfilefabfile.py 等)

<django_project_root>包含我的 Django 应用程序和应用程序逻辑。

最后,<configuration_root>包含我的settings.pywsgi.py .

我尝试过的:

我的Procfile应该看起来像这样(根据 Heroku Docs ):

web: gunicorn myapp.wsgi

运行时 foreman start使用此项目布局,我收到错误:

ImportError: Import by filename is not supported.

什么有效:

如果我将我的 Procfile 从 <git_repository_root> 移走至<git_repository_root>它在本地工作。推送到 Heroku 后(注意:Heroku 看到 <git_repository_root> ),我无法扩展任何工作人员/添加进程。我得到以下信息:

Scaling web dynos... failed
! No such process type web defined in Procfile.

我相信我想要 Procfile在我的<git_repository_root>无论如何——那为什么它不起作用呢?我还尝试更改 Procfile到: web: gunicorn myapp/myapp.wsgi

但没有运气。任何帮助将不胜感激!

最佳答案

处理 Procfile 中的条目就像 bash 命令一样。您可以cd进入你的<django_project_root>然后运行服务器。

例如,您的 Procfile (应该在您的 <git_repository_root> 中)可能看起来像这样:

web: cd <django_project_root> && gunicorn 
--env DJANGO_SETTINGS_MODULE=<configuration_root>.settings
<configuration_root>.wsgi

关于django - 部署到 Heroku 时指定项目根目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18076444/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com