我已閱讀您提到的realpython博客文章。我也會把你介紹給AWS教程。它是一個裸露的骨頭Django項目的部署書面和它可以在這裏找到:
http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/create-deploy-python-django.html#python-django-configure-for-eb
我認爲有必要通過工作,並學到了很多解決您已經確定了錯誤。當然這個修復與我自己的教程實現有關,後面我一步步地進行了學習。我已閱讀了其他與此問題有關的帖子,但據我所知,這裏所述的解決方案並未在這些帖子中提供。
本教程的縮寫版本將爲此處提供的評論提供一些背景信息。這個縮寫版本在創建/激活虛擬環境之後開始,但在其激活之前。
$ mkdir ed_django_app
$ . venv/Scripts/activate
(venv)[~eb_django_app]$ django-admin startproject django_eb
(venv)[~eb_django_app/django_eb]$ python manage.py migrate
(venv)[~eb_django_app/django_eb]$ python manage.py runserver
(venv)[~eb_django_app]$ pip freeze > requirements.txt
(venv)[~eb_django_app]$ deactivate
[~eb_django_app]$ eb init –region us-east-1
的「EB初始化」命令.elasticbeanstalk目錄後,一些文件一起,在初始化過程中創建的。在那個目錄下你會找到config.yml文件。其內容是:
branch-defaults:
default:
environment: eb-django-dev
global:
application_name: eb_django_app
default_ec2_keyname: myec2keyname
default_platform: Python 2.7
default_region: us-east-1
profile: eb-cli
sc: null
的教程指導開發人員,然後創建一個目錄名爲.ebextensions並創建01-eb_django.config文件:
option_settings:
"aws:elasticbeanstalk:application:environment":
DJANGO_SETTINGS_MODULE: "django_eb.settings"
PYTHONPATH: "/opt/python/current/app/django_eb:$PYTHONPATH"
"aws:elasticbeanstalk:container:python":
WSGIPath: "django_eb/django_eb/wsgi.py"
這是YAML和壓痕事項。至少1個空格縮進。在這種情況下,每個級別都有2個縮進空格。 WSGIPath設置正確。確保目錄結構與教程中指出的內容相同非常重要。
本教程中的「EB創建」命令現在發行的,正如你指出,下面就出現了:
錯誤:WSGIPath是指不存在
所識別出的問題文件存在於配置中。陽明那裏是密鑰對的應用程序名稱:
global:
application_name: eb_django_app
它改爲:
global:
application_name: django_eb
這解決了錯誤我。
我們遇到了未安裝psycopg2的問題。添加這些文件到我們的.ebextensions/01-app.config: 包: yum: postgresql93-devel:[] – 2015-08-08 11:49:50
我做了本教程,並堅持忘記git提交更改爲「.ebextensions/01-app。配置「。 git commit和「eb deploy」之後,一切都按預期工作。 – pac 2017-03-14 03:23:14