繁体   English   中英

将 Django 应用程序部署到 Elastic Beanstalk AWS 502 错误网关

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM