Django Elasticbeanstalk 应用程序在自动缩放期间返回 404

Posted

技术标签:

【中文标题】Django Elasticbeanstalk 应用程序在自动缩放期间返回 404【英文标题】:Django Elasticbeanstalk Application returns 404 during autoscale 【发布时间】:2018-08-22 09:00:18 【问题描述】:

我有一个在弹性 beantalk 上运行的 django 应用程序。当我从命令行部署时,应用程序部署并运行良好。 但是,在自动缩放期间,对创建的新实例的运行状况检查始终从 access_logs 返回 404。

"GET /health/ HTTP/1.1" 404 221 "-" "ELB-HealthChecker/1.0"

有趣的是,应用程序最终会在大约 20 分钟后加载。 请参阅下面的 wsgi.conf 文件。 是不是我做错了什么?

LoadModule wsgi_module modules/mod_wsgi.so
WSGIPythonHome /opt/python/run/baselinenv
WSGISocketPrefix run/wsgi
WSGIRestrictEmbedded On
<VirtualHost *:80>

Alias /static/ /opt/python/current/app/staticfiles/
<Directory /opt/python/current/app/staticfiles/>
Require all granted
</Directory>


WSGIScriptAlias / /opt/python/current/app/myapp/wsgi.py


<Directory /opt/python/current/app/>
Require all granted
</Directory>

Header always set Access-Control-Allow-Methods "POST,GET,OPTIONS,PUT,DELETE, PATCH"
Header always set Access-Control-Allow-Headers "x-requested-with, Content-Type, Accept, origin, authorization, accept, client-security-token, Authorization"
WSGIDaemonProcess wsgi processes=3 threads=20 display-name=%GROUP \
  python-path=/opt/python/current/app:/opt/python/run/venv/lib/python2.7/site-packages:/opt/python/run/venv/lib64/python2.7/site-packages user=wsgi group=wsgi \
  home=/opt/python/current/app
WSGIProcessGroup wsgi
RewriteEngine On
RewriteCond %HTTP:X-Forwarded-Proto !https
RewriteRule !/api/v1.0/church/health/ https://%SERVER_NAME%REQUEST_URI [L,R=301]
</VirtualHost>

WSGIPassAuthorization On

【问题讨论】:

您可以访问您的实例的日志并查看它卡在哪里。你能提供吗? 从日志来看,没有迹象表明它被卡住了 【参考方案1】:

我只为生产检查了健康状况,我使用的网址是/login

在您的 EBT 仪表板中查看 configuration&gt;health

我怀疑您的网址 /health 不是由 django 管理的。

【讨论】:

以上是关于Django Elasticbeanstalk 应用程序在自动缩放期间返回 404的主要内容,如果未能解决你的问题,请参考以下文章

Django ElasticBeanstalk 更改存储桶

在 AWS Elasticbeanstalk 上部署 Django

Django manage.py 命令在 ElasticBeanstalk 上有 SyntaxError

在 Elasticbeanstalk Docker 环境中提供 Django 静态文件

由于 ImportError,Celery Django 部署因 Elastic Beanstalk 失败:无法导入名称“Celery”(ElasticBeanstalk::ExternalInvoc

django-background-tasks 管理命令未在 AWS elasticbeanstalk 上运行