我已经试了几天时间在亚马逊网络服务的弹性 Beanstalk 下安装 Django。 我认为我遇到的问题是这个:
ERROR - Your WSGIPath refers to a file that does not exist.
我按照这里的教程操作,一切进行得很顺利,直到第6步结束,但是我无论如何都无法在页面上显示除了第5步#2中的通用Elastic Beanstalk页面之外的任何内容。当我运行时:
./manage.py runserver
在我的本地机器上,一切都按照预期工作,但是我无法部署该页面。我首先尝试了一个我自己编写的小型Django网站。它没有起作用,所以我删除了我所做的一切然后再试一次,但是还是不行,于是我删除了所有内容,然后用全新的Django安装再试了一次。我尝试了很多次微调小细节,但我认为我遗漏了一些重要的东西。
我按照此教程中所述添加了一个python.config文件。
这是我的文件结构:
-.git/
-.mysite/
-myapp/
-__init__.py
-models.py
-tests.py
-views.py
-mysite/
-__init__.py
-settings.py
-urls.py
-wsgi.py
-.ebextensions/
-python.config
-manage.py
-mysite.db
-requirements.txt
从我的settings.py文件中:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': 'mysite.db',
'USER': '',
'PASSWORD': '',
'HOST': '',
'PORT': '',
}
}
这是 python.config:
container_commands: 01_syncdb:
command: "django-admin.py syncdb --noinput"
leader_only: true
option_settings:
- namespace: aws:elasticbeanstalk:container:python
option_name: WSGIPath
value: mysite/wsgi.py
- option_name: DJANGO_SETTINGS_MODULE
value: mysite.settings
- option_name: AWS_SECRET_KEY
value: <This is my secret key>
- option_name: AWS_ACCESS_KEY_ID
value: <This is my access key>
我需要在其他地方定义我的WSGI路径吗?有没有通过AWS控制台进行此操作的方法?我应该直接跳过EB,直接使用EC2吗?