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>health
。
我怀疑您的网址 /health
不是由 django 管理的。
【讨论】:
以上是关于Django Elasticbeanstalk 应用程序在自动缩放期间返回 404的主要内容,如果未能解决你的问题,请参考以下文章
在 AWS Elasticbeanstalk 上部署 Django
Django manage.py 命令在 ElasticBeanstalk 上有 SyntaxError
在 Elasticbeanstalk Docker 环境中提供 Django 静态文件
由于 ImportError,Celery Django 部署因 Elastic Beanstalk 失败:无法导入名称“Celery”(ElasticBeanstalk::ExternalInvoc