我有一个django应用程序部署到AWS beanstall。在遵循官方文件后,第一个版本很好:https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/create-deploy-python-django.html
然后,我在我的网站上添加了一个使用django过滤器的新功能。现在,当我部署时,我在主前端页面上收到这个错误:
内部服务器错误
服务器遇到内部错误或配置错误,无法完成您的请求。
请通过与服务器管理员联系root@localhost通知他们此错误发生的时间,以及您在此错误之前执行的操作。服务器错误日志中可能提供了有关此错误的更多信息。
下面是我的错误日志。
[Thu Oct 01 04:47:09.118698 2020] [:error] [pid 21279] [remote 172.31.47.200:20528] apps.populate(settings.INSTALLED_APPS)
[Thu Oct 01 04:47:09.118704 2020] [:error] [pid 21279] [remote 172.31.47.200:20528] File "/opt/python/run/venv/local/lib/python3.6/site-packages/django/apps/registry.py", line 83, in populate
[Thu Oct 01 04:47:09.118707 2020] [:error] [pid 21279] [remote 172.31.47.200:20528] raise RuntimeError("populate() isn't reentrant")
[Thu Oct 01 04:47:09.118722 2020] [:error] [pid 21279] [remote 172.31.47.200:20528] RuntimeError: populate() isn't reentrant
[Thu Oct 01 04:47:13.477606 2020] [:error] [pid 21279] [remote 172.31.3.100:48] mod_wsgi (pid=21279): Target WSGI script '/opt/python/current/app/djangoproject/wsgi.py' cannot be loaded as Python module.
[Thu Oct 01 04:47:13.477658 2020] [:error] [pid 21279] [remote 172.31.3.100:48] mod_wsgi (pid=21279): Exception occurred processing WSGI script '/opt/python/current/app/djangoproject/wsgi.py'.
[Thu Oct 01 04:47:13.477768 2020] [:error] [pid 21279] [remote 172.31.3.100:48] Traceback (most recent call last):
[Thu Oct 01 04:47:13.477801 2020] [:error] [pid 21279] [remote 172.31.3.100:48] File "/opt/python/current/app/djangoproject/wsgi.py", line 16, in <module>
[Thu Oct 01 04:47:13.477806 2020] [:error] [pid 21279] [remote 172.31.3.100:48] application = get_wsgi_application()
[Thu Oct 01 04:47:13.477812 2020] [:error] [pid 21279] [remote 172.31.3.100:48] File "/opt/python/run/venv/local/lib/python3.6/site-packages/django/core/wsgi.py", line 12, in get_wsgi_application
[Thu Oct 01 04:47:13.477816 2020] [:error] [pid 21279] [remote 172.31.3.100:48] django.setup(set_prefix=False)
[Thu Oct 01 04:47:13.477822 2020] [:error] [pid 21279] [remote 172.31.3.100:48] File "/opt/python/run/venv/local/lib/python3.6/site-packages/django/__init__.py", line 24, in setup
[Thu Oct 01 04:47:13.477825 2020] [:error] [pid 21279] [remote 172.31.3.100:48] apps.populate(settings.INSTALLED_APPS)
[Thu Oct 01 04:47:13.477831 2020] [:error] [pid 21279] [remote 172.31.3.100:48] File "/opt/python/run/venv/local/lib/python3.6/site-packages/django/apps/registry.py", line 83, in populate
[Thu Oct 01 04:47:13.477834 2020] [:error] [pid 21279] [remote 172.31.3.100:48] raise RuntimeError("populate() isn't reentrant")
[Thu Oct 01 04:47:13.477849 2020] [:error] [pid 21279] [remote 172.31.3.100:48] RuntimeError: populate() isn't reentrant
[Thu Oct 01 04:47:17.516356 2020] [:error] [pid 21279] [remote 172.31.29.143:48] mod_wsgi (pid=21279): Target WSGI script '/opt/python/current/app/djangoproject/wsgi.py' cannot be loaded as Python module.
[Thu Oct 01 04:47:17.516412 2020] [:error] [pid 21279] [remote 172.31.29.143:48] mod_wsgi (pid=21279): Exception occurred processing WSGI script '/opt/python/current/app/djangoproject/wsgi.py'.
[Thu Oct 01 04:47:17.516522 2020] [:error] [pid 21279] [remote 172.31.29.143:48] Traceback (most recent call last):
[Thu Oct 01 04:47:17.516557 2020] [:error] [pid 21279] [remote 172.31.29.143:48] File "/opt/python/current/app/djangoproject/wsgi.py", line 16, in <module>
[Thu Oct 01 04:47:17.516562 2020] [:error] [pid 21279] [remote 172.31.29.143:48] application = get_wsgi_application()
[Thu Oct 01 04:47:17.516568 2020] [:error] [pid 21279] [remote 172.31.29.143:48] File "/opt/python/run/venv/local/lib/python3.6/site-packages/django/core/wsgi.py", line 12, in get_wsgi_application
[Thu Oct 01 04:47:17.516572 2020] [:error] [pid 21279] [remote 172.31.29.143:48] django.setup(set_prefix=False)
[Thu Oct 01 04:47:17.516577 2020] [:error] [pid 21279] [remote 172.31.29.143:48] File "/opt/python/run/venv/local/lib/python3.6/site-packages/django/__init__.py", line 24, in setup
[Thu Oct 01 04:47:17.516589 2020] [:error] [pid 21279] [remote 172.31.29.143:48] apps.populate(settings.INSTALLED_APPS)
[Thu Oct 01 04:47:17.516596 2020] [:error] [pid 21279] [remote 172.31.29.143:48] File "/opt/python/run/venv/local/lib/python3.6/site-packages/django/apps/registry.py", line 83, in populate
[Thu Oct 01 04:47:17.516599 2020] [:error] [pid 21279] [remote 172.31.29.143:48] raise RuntimeError("populate() isn't reentrant")
[Thu Oct 01 04:47:17.516615 2020] [:error] [pid 21279] [remote 172.31.29.143:48] RuntimeError: populate() isn't reentrant
[Thu Oct 01 04:47:18.842837 2020] [:error] [pid 21279] [remote 172.31.58.190:44] mod_wsgi (pid=21279): Target WSGI script '/opt/python/current/app/djangoproject/wsgi.py' cannot be loaded as Python module.
[Thu Oct 01 04:47:18.842888 2020] [:error] [pid 21279] [remote 172.31.58.190:44] mod_wsgi (pid=21279): Exception occurred processing WSGI script '/opt/python/current/app/djangoproject/wsgi.py'.
[Thu Oct 01 04:47:18.843064 2020] [:error] [pid 21279] [remote 172.31.58.190:44] Traceback (most recent call last):
[Thu Oct 01 04:47:18.843099 2020] [:error] [pid 21279] [remote 172.31.58.190:44] File "/opt/python/current/app/djangoproject/wsgi.py", line 16, in <module>
[Thu Oct 01 04:47:18.843103 2020] [:error] [pid 21279] [remote 172.31.58.190:44] application = get_wsgi_application()
[Thu Oct 01 04:47:18.843110 2020] [:error] [pid 21279] [remote 172.31.58.190:44] File "/opt/python/run/venv/local/lib/python3.6/site-packages/django/core/wsgi.py", line 12, in get_wsgi_application
[Thu Oct 01 04:47:18.843113 2020] [:error] [pid 21279] [remote 172.31.58.190:44] django.setup(set_prefix=False)
[Thu Oct 01 04:47:18.843119 2020] [:error] [pid 21279] [remote 172.31.58.190:44] File "/opt/python/run/venv/local/lib/python3.6/site-packages/django/__init__.py", line 24, in setup
[Thu Oct 01 04:47:18.843123 2020] [:error] [pid 21279] [remote 172.31.58.190:44] apps.populate(settings.INSTALLED_APPS)
[Thu Oct 01 04:47:18.843129 2020] [:error] [pid 21279] [remote 172.31.58.190:44] File "/opt/python/run/venv/local/lib/python3.6/site-packages/django/apps/registry.py", line 83, in populate
[Thu Oct 01 04:47:18.843132 2020] [:error] [pid 21279] [remote 172.31.58.190:44] raise RuntimeError("populate() isn't reentrant")
[Thu Oct 01 04:47:18.843147 2020] [:error] [pid 21279] [remote 172.31.58.190:44] RuntimeError: populate() isn't reentrant ```
这些是我的要求.txt:
asgiref==3.2.10
Django==3.1.1
django-ckeditor==6.0.0
django-filter==2.3.0
django-js-asset==1.2.2
PyJWT==1.7.1
pytz==2020.1
sqlparse==0.3.1
WSGI文件:
option_settings:
aws:elasticbeanstalk:container:python:
WSGIPath: djangoproject/wsgi.py
你能帮忙吗。我已经试着解决这个问题有一段时间了。
非常感谢,Cj
在.ebextensions
django配置文件中执行此操作:
command: "source /var/app/venv/staging-LQM1lest/bin/activate && pip install -r requirements/production.txt"
因此,基本上激活venv并运行pip-install确保依赖项安装在正确的venv中。还有:
aws:elasticbeanstalk:container:python:
WSGIPath: config.wsgi:application
在我的情况下,我在根目录中有一个配置文件夹,其中存在wsgi.py
文件