1. [ERROR] An error occurred during execution of command [app-deploy] - [StageApplication]. Stop running the command. Error: chown /var/app/staging/bin/python: no such file or directory
我自己本地的开发环境是python3.9 + django3.2,但是aws上文档要求python3.7 + django2.2. 我猜是本地开发和部署要求版本不同所以才出现这样的错误。
解决方法:在虚拟环境安装python3.7 + django2.2然后新建项目,把代码复制到此新项目中。循序渐进,copy一点部署一点,发现成功了。
**
2. aws eb上的网站不显示static文件。
**
解决方法:.ebextensions/static-files.config下添加:
option_settings:
aws:elasticbeanstalk:environment:proxy:staticfiles:
/static: static
settings.py文件内容如下:
STATIC_URL = '/static/'
STATIC_ROOT = 'static'
# STATIC_ROOT = os.path.join(BASE_DIR, "static")
# STATICFILES_DIRS = (
# os.path.join(BASE_DIR, "static"),
# )
3. aws指令错误:
aws更新很快,很多指令也更新了。如果需要migrate data:指令如下,位于db-migrate。config:
container_commands:
01_migrate:
command: "source /var/app/venv/*/bin/activate && python3 manage.py migrate"
leader_only: true
option_settings:
aws:elasticbeanstalk:application:environment:
DJANGO_SETTINGS_MODULE: greatKartForAWS.settings
4. media 文件不显示,表示无权限。
解决方案: 在settings文件的installed apps 注释掉
# 'django.contrib.staticfiles',
5. AttributeError: ‘str’ object has no attribute ‘decode’
解决方法,升级Django版本即可,如,从2.2 --> 3.0.2.