[英]AWS beanstalk + Django: 502 Bad Gateway - ModuleNotFoundError: No module named 'application'
[英]Deploying a Django application to Elastic Beanstalk AWS 502 Bad Gateway
我按照 AWS 官方网站上的所有说明进行操作,但仍然遇到同样的错误。 我已经尝试了几个项目,本地服务器上的每个项目在 AWS 上启动后都可以正常工作,我收到下一个错误 502 Bad Gateway。
ModuleNotFoundError: No module named 'ebddjango/wsgi'
wsg 文件:
import os from django.core.wsgi
import get_wsgi_application
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'ebddjango.settings') application = get_wsgi_application()
配置:
option_settings:
aws:elasticbeanstalk:container:python:
WSGIPath: ebddjango/wsgi:application
地位:
Updated: 2022-01-27 14:19:09.259000+00:00
Status: Ready
Health: Red
错误日志
Jan 27 14:49:19 ip-172-31-8-170 web: File "<frozen importlib._bootstrap>", line 1006, in _gcd_import
Jan 27 14:49:19 ip-172-31-8-170 web: File "<frozen importlib._bootstrap>", line 983, in _find_and_load
Jan 27 14:49:19 ip-172-31-8-170 web: File "<frozen importlib._bootstrap>", line 965, in _find_and_load_unlocked
Jan 27 14:49:19 ip-172-31-8-170 web: ModuleNotFoundError: No module named 'ebddjango/wsgi'
Jan 27 14:49:19 ip-172-31-8-170 web: [2022-01-27 14:49:19 +0000] [4399] [INFO] Worker exiting (pid: 4399)
Jan 27 14:49:19 ip-172-31-8-170 web: [2022-01-27 14:49:19 +0000] [4392] [INFO] Shutting down: Master
Jan 27 14:49:19 ip-172-31-8-170 web: [2022-01-27 14:49:19 +0000] [4392] [INFO] Reason: Worker failed to boot.
Jan 27 14:49:20 ip-172-31-8-170 web: [2022-01-27 14:49:20 +0000] [4407] [INFO] Starting gunicorn 20.1.0
Jan 27 14:49:20 ip-172-31-8-170 web: [2022-01-27 14:49:20 +0000] [4407] [INFO] Listening at: http://127.0.0.1:8000 (4407)
Jan 27 14:49:20 ip-172-31-8-170 web: [2022-01-27 14:49:20 +0000] [4407] [INFO] Using worker: gthread
Jan 27 14:49:20 ip-172-31-8-170 web: [2022-01-27 14:49:20 +0000] [4414] [INFO] Booting worker with pid: 4414
Jan 27 14:49:20 ip-172-31-8-170 web: [2022-01-27 14:49:20 +0000] [4414] [ERROR] Exception in worker process
Jan 27 14:49:20 ip-172-31-8-170 web: Traceback (most recent call last):
Jan 27 14:49:20 ip-172-31-8-170 web: File "/var/app/venv/staging-LQM1lest/lib/python3.7/site-packages/gunicorn/arbiter.py", line 589, in spawn_worker
Jan 27 14:49:20 ip-172-31-8-170 web: worker.init_process()
Jan 27 14:49:20 ip-172-31-8-170 web: File "/var/app/venv/staging-LQM1lest/lib/python3.7/site-packages/gunicorn/workers/gthread.py", line 92, in init_process
Jan 27 14:49:20 ip-172-31-8-170 web: super().init_process()
Jan 27 14:49:20 ip-172-31-8-170 web: File "/var/app/venv/staging-LQM1lest/lib/python3.7/site-packages/gunicorn/workers/base.py", line 134, in init_process
Jan 27 14:49:20 ip-172-31-8-170 web: self.load_wsgi()
Jan 27 14:49:20 ip-172-31-8-170 web: File "/var/app/venv/staging-LQM1lest/lib/python3.7/site-packages/gunicorn/workers/base.py", line 146, in load_wsgi
Jan 27 14:49:20 ip-172-31-8-170 web: self.wsgi = self.app.wsgi()
Jan 27 14:49:20 ip-172-31-8-170 web: File "/var/app/venv/staging-LQM1lest/lib/python3.7/site-packages/gunicorn/app/base.py", line 67, in wsgi
Jan 27 14:49:20 ip-172-31-8-170 web: self.callable = self.load()
Jan 27 14:49:20 ip-172-31-8-170 web: File "/var/app/venv/staging-LQM1lest/lib/python3.7/site-packages/gunicorn/app/wsgiapp.py", line 58, in load
Jan 27 14:49:20 ip-172-31-8-170 web: return self.load_wsgiapp()
Jan 27 14:49:20 ip-172-31-8-170 web: File "/var/app/venv/staging-LQM1lest/lib/python3.7/site-packages/gunicorn/app/wsgiapp.py", line 48, in load_wsgiapp
Jan 27 14:49:20 ip-172-31-8-170 web: return util.import_app(self.app_uri)
Jan 27 14:49:20 ip-172-31-8-170 web: File "/var/app/venv/staging-LQM1lest/lib/python3.7/site-packages/gunicorn/util.py", line 359, in import_app
Jan 27 14:49:20 ip-172-31-8-170 web: mod = importlib.import_module(module)
Jan 27 14:49:20 ip-172-31-8-170 web: File "/usr/lib64/python3.7/importlib/__init__.py", line 127, in import_module
Jan 27 14:49:20 ip-172-31-8-170 web: return _bootstrap._gcd_import(name[level:], package, level)
Jan 27 14:49:20 ip-172-31-8-170 web: File "<frozen importlib._bootstrap>", line 1006, in _gcd_import
Jan 27 14:49:20 ip-172-31-8-170 web: File "<frozen importlib._bootstrap>", line 983, in _find_and_load
Jan 27 14:49:20 ip-172-31-8-170 web: File "<frozen importlib._bootstrap>", line 965, in _find_and_load_unlocked
Jan 27 14:49:20 ip-172-31-8-170 web: ModuleNotFoundError: No module named 'ebddjango/wsgi'
Jan 27 14:49:20 ip-172-31-8-170 web: [2022-01-27 14:49:20 +0000] [4414] [INFO] Worker exiting (pid: 4414)
Jan 27 14:49:20 ip-172-31-8-170 web: [2022-01-27 14:49:20 +0000] [4407] [INFO] Shutting down: Master
Jan 27 14:49:20 ip-172-31-8-170 web: [2022-01-27 14:49:20 +0000] [4407] [INFO] Reason: Worker failed to boot.
Jan 27 14:49:20 ip-172-31-8-170 web: [2022-01-27 14:49:20 +0000] [4422] [INFO] Starting gunicorn 20.1.0
-- More --
在你的 .config 文件中尝试
option_settings:
aws:elasticbeanstalk:application:environment:
DJANGO_SETTINGS_MODULE: ebddjango.settings
aws:elasticbeanstalk:container:python:
WSGIPath: ebddjango.wsgi:application
aws:elasticbeanstalk:environment:proxy:staticfiles:
/static: static
似乎我遇到了完全相同的问题:我按照官方教程进行操作,但最终出现 502 错误。 我在Stackify上找到了我的解决方案,他们说:
亚马逊Linux 2平台上的Python 3.7+确实需要gunicorn。
所以我所做的只是在安装 django 之后运行以下命令(本教程的设置 Python 虚拟环境并安装 Django部分的第 3 点)
pip install gunicorn
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.