没有在heroku中运行Django的Web进程

时间:2013-08-31 21:07:58

标签: python django heroku deployment

我试图在heroku中部署我的应用程序,但是当我最终尝试在heroku中运行我的应用程序时,我会在浏览器中显示:

Application Error
An error occurred in the application and your page could not be served. Please try again in a few moments.

If you are the application owner, check your logs for details.

当我看到我的日志时,我得到了下一个:

2013-08-31T19:53:30.672416+00:00 heroku[api]: Enable Logplex by user@example.com
2013-08-31T19:53:30.700218+00:00 heroku[api]: Release v2 created by user@example.com
2013-08-31T19:58:41+00:00 heroku[slug-compiler]: Slug compilation started
2013-08-31T20:04:12.967456+00:00 heroku[router]: at=info code= desc="Blank app" method=GET path=/ host=cristowip.herokuapp.com fwd="189.137.81.39" dyno= connect= service= status=502 bytes=
2013-08-31T20:04:13.161016+00:00 heroku[router]: at=info code= desc="Blank app" method=GET path=/favicon.ico host=cristowip.herokuapp.com fwd="189.137.81.39" dyno= connect= service= status=502 bytes=
2013-08-31T20:13:46+00:00 heroku[slug-compiler]: Slug compilation timed out: 904.285527871 seconds.
2013-08-31T20:22:52.646361+00:00 heroku[router]: at=info code= desc="Blank app" method=GET path=/ host=cristowip.herokuapp.com fwd="189.137.81.39" dyno= connect= service= status=502 bytes=
2013-08-31T20:22:55.043424+00:00 heroku[router]: at=info code= desc="Blank app" method=GET path=/favicon.ico host=cristowip.herokuapp.com fwd="189.137.81.39" dyno= connect= service= status=502 bytes=
2013-08-31T20:26:14+00:00 heroku[slug-compiler]: Slug compilation started
2013-08-31T20:38:41+00:00 heroku[slug-compiler]: Slug compilation started
2013-08-31T20:41:22+00:00 heroku[slug-compiler]: Slug compilation timed out: 908.241350492 seconds.
2013-08-31T20:49:24.238496+00:00 heroku[router]: at=info code= desc="Blank app" method=GET path=/ host=cristowip.herokuapp.com fwd="189.137.81.39" dyno= connect= service= status=502 bytes=
2013-08-31T20:49:24.644910+00:00 heroku[router]: at=info code= desc="Blank app" method=GET path=/favicon.ico host=cristowip.herokuapp.com fwd="189.137.81.39" dyno= connect= service= status=502 bytes=
2013-08-31T20:53:47+00:00 heroku[slug-compiler]: Slug compilation timed out: 907.148099965 seconds.
2013-08-31T20:56:59+00:00 heroku[slug-compiler]: Slug compilation started
2013-08-31T20:58:50.641624+00:00 heroku[api]: Attach HEROKU_POSTGRESQL_AQUA resource by user@example.com
2013-08-31T20:58:50.658435+00:00 heroku[api]: Release v3 created by user@example.com
2013-08-31T20:58:50.742803+00:00 heroku[api]: Add DATABASE_URL config by user@example.com
2013-08-31T20:58:50.782484+00:00 heroku[api]: Release v4 created by user@example.com
2013-08-31T20:58:50.840509+00:00 heroku[api]: Deploy 78dba6c by user@example.com
2013-08-31T20:58:50.852187+00:00 heroku[api]: Release v5 created by user@example.com
2013-08-31T20:58:54+00:00 heroku[slug-compiler]: Slug compilation finished
2013-08-31T21:00:25.085053+00:00 heroku[router]: at=error code=H14 desc="No web processes running" method=GET path=/favicon.ico host=cristowip.herokuapp.com fwd="189.137.81.39" dyno= connect= service= status=503 bytes=
2013-08-31T21:00:24.751074+00:00 heroku[router]: at=error code=H14 desc="No web processes running" method=GET path=/ host=cristowip.herokuapp.com fwd="189.137.81.39" dyno= connect= service= status=503 bytes=
2013-08-31T21:01:03.272614+00:00 heroku[router]: at=error code=H14 desc="No web processes running" method=GET path=/ host=cristowip.herokuapp.com fwd="189.137.81.39" dyno= connect= service= status=503 bytes=
2013-08-31T21:01:03.815558+00:00 heroku[router]: at=error code=H14 desc="No web processes running" method=GET path=/favicon.ico host=cristowip.herokuapp.com fwd="189.137.81.39" dyno= connect= service= status=503 bytes=
2013-08-31T21:02:10.279054+00:00 heroku[router]: at=error code=H14 desc="No web processes running" method=GET path=/ host=cristowip.herokuapp.com fwd="189.137.81.39" dyno= connect= service= status=503 bytes=
2013-08-31T21:03:25.381362+00:00 heroku[router]: at=error code=H14 desc="No web processes running" method=GET path=/ host=cristowip.herokuapp.com fwd="189.137.81.39" dyno= connect= service= status=503 bytes=
2013-08-31T21:03:25.709121+00:00 heroku[router]: at=error code=H14 desc="No web processes running" method=GET path=/favicon.ico host=cristowip.herokuapp.com fwd="189.137.81.39" dyno= connect= service= status=503 bytes=
2013-08-31T21:03:45.285962+00:00 heroku[router]: at=error code=H14 desc="No web processes running" method=GET path=/favicon.ico host=cristowip.herokuapp.com fwd="189.137.81.39" dyno= connect= service= status=503 bytes=
christian@christian-R480-R431-R481:~/Documentos/heroku/portafolio/venv$ 

9 个答案:

答案 0 :(得分:23)

本杰明曼斯'解决方案对我有用,但我还需要一个额外的步骤。

根据this,在推送Procfile解决方案后,运行以下命令:

<强> heroku ps:scale web=1

网站现在应该正确加载。

有关推送到heroku git repo的更多帮助,请参阅this

答案 1 :(得分:11)

添加proc文件并运行以下命令

<强> $ heroku ps:scale web=1

答案 2 :(得分:4)

你经历过Heroku guide for setting up a Django application吗?你的Procfile是什么样的?

您的项目应该有一个名为Procfile的文件,其内容应与

类似
web: gunicorn hellodjango.wsgi

答案 3 :(得分:2)

您的 Procfile 必须如下所示(对于python):

web:python myApp.py runserver 0.0.0.0:$PORT

答案 4 :(得分:0)

如果您使用的是python / django

heroku logs --tail

如果找不到错误并修复,请尝试执行

首先运行,看看它是否在herokus local上工作

heroku local web

我要在Procfile中指定django wsgi.py文件的路径

查看他们的示例https://github.com/heroku/python-getting-started

Procfile看起来与此类似

web: gunicorn projectname.wsgi --log-file -

如果未安装,您可能必须安装gunicorn并将其添加到requirements.txt

然后Git添加并提交,然后将其推送到heroku

git push heroku master

然后扩展您的应用

heroku ps:scale web=1

答案 5 :(得分:0)

我执行了以下步骤以使其正常工作。

1)我必须将Procfile移到最外面的文件夹。

2)然后,我不得不将Procfile更改为

web: gunicorn projectname.projectname.wsgi

3)同样在我的wsgi文件中,我不得不将设置路径更改为

os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'projectname.projectname.settings')

4)我必须在settings.py文件中更改ROOT_URLCONF

ROOT_URLCONF = 'projectname.projectname.urls'

5)在urls.py中,我不得不将路径更改为

from projectname.applicationname import urls as app_urls

urlpatterns = [
    path('admin/', admin.site.urls),
    path('', include(app_urls)),
]

6)最后我做了

git push heroku master
heroku ps:scale web=1

进行了所有这些更改之后,heroku就像是一种魅力。但这在Windows上无法在本地运行,因为我在没有Windows的地方读到了古尼康。

我在本地尝试python projectname/manage.py runserver时说

ModuleNotFoundError: No module named 'projectname.projectname'

因此,要在本地运行它,我必须还原上述所有步骤:P

答案 6 :(得分:0)

在我的情况下是dynos配置错误,我的意思是说,如果您不是高级会员,请从heroku dashbord查看dynos是否可用于您的应用程序。您可以通过单击指标进行检查,如果您没有一个估计的话。 运行命令 $ heroku ps:scale web = 1 将您的代码推送到主服务器。

答案 7 :(得分:0)

我收到应用程序错误 我在 desc =“没有Web进程正在运行” 中检查了heroku日志--tail。 通常,这是由于Procfile而发生的,因此在Procfile中,我忘了在“ web:”之后留出空格

web: gunicorn hellodjango.wsgi --log-file - 

因此检查您的Procfile {此文件将在项目文件夹中的根文件夹中创建}

答案 8 :(得分:0)

虽然已经说过了,但是请检查一下 Procfileruntime.txtrequirements.txt 是否在最外面的文件夹中。 (这些文件会放在manage.py的位置)