我正在尝试将 AWS 上的现有应用程序从现已弃用的 Python 3.4 平台升级到使用 Amazon Linux 2/3.0.1 的 3.7,在此过程中,我遇到了应用程序源代码在 EC2 实例上的部署位置的问题。
从一些实证测试中,我发现它不是大多数(如果不是全部(AWS文档所说的目录(例如,对EB CLI的问题进行故障排除 - AWS Elastic Beanstalk(,/opt/python/current/app
而是在Python 3.7中,它实际上部署在/var/app/current/
中。我找不到有关此更改的任何文档,它导致应用程序出现一些问题。我想知道进行此更改有什么原因吗?如果可以还原它,该怎么做?
提前感谢!
这是因为 3.7 Python Elastic Beanstalk 发行版使用 Amazon Linux 2,这与 AMI 前身有着根本的不同。如果您选择使用 Python 3.6,您应该能够避免此问题,因为它运行在早期的 Linux 版本上,其中部署仍然发生在/opt/var/app/current 中。我发现的大多数教程都是为配合这个较旧的推出而设计的,包括最新的亚马逊入门指南。
如果您有时间,请尝试将代码迁移到较新版本,因为这似乎是亚马逊正在接受的工作流程,适用于所有较新版本的Python(例如3.8和其他尚未推出的版本(。