从架构的角度来看,我试图更好地了解部署到eb(t2)服务器的文件的存储方式和位置.
我在s3中看到一些.zip文件显示我何时通过eb界面上传内容,虽然这最终是如何/最终在我的ec2(t2)服务器上?
我已使用 AWS Elastic Beanstalk 成功创建了一个应用程序,并使用 Git 上传了该应用程序。
我剩下要做的就是创建我的settings.php 文件,一切都应该可以正常工作。
但是,当我使用 SSH to Elastic Beanstalk 实例中记录的方法以用户 ec2-user 通过 SSH 连接时,我无法导航到 webapp 目录。这是 ls -all 的输出
drwxr-xr-x 4 root root 4096 Feb 10 16:21 .
dr-xr-xr-x 23 root root 4096 Feb 10 16:23 ..
drwx------ 3 ec2-user ec2-user 4096 Feb 10 16:41 ec2-user
drwx------ 2 webapp webapp 4096 Feb 10 16:21 webapp
Run Code Online (Sandbox Code Playgroud)
当我尝试导航到那里时,我得到:
cd: webapp: Permission denied
Run Code Online (Sandbox Code Playgroud)
我的问题是,我可以将 webapp 文件夹的所有权更改为 ec2-user 的所有权吗?如果我这样做,我会破坏弹性豆茎吗?如果是这样,我很想知道其他人如何实现我想要做的事情,这不是跳过设置文件的 Git 部署,以便它在我的本地计算机上与 Amazon 上的版本不同。
我正在尝试从我的开发机器运行我作为 AWS Elastic Beanstalk 应用程序的一部分上传的 Python 脚本,但不知道如何运行。我相信我已经正确定位了脚本,但是当我尝试在 SSH 下运行它时,出现导入错误。
例如,我有一个 Flask-Migrate 迁移脚本作为我的应用程序的一部分(与文档中的示例几乎相同),但是在成功通过 SSH 连接到我的 EB 实例之后
> eb ssh
Run Code Online (Sandbox Code Playgroud)
和定位脚本与
$ sudo find / -name migrate.py
Run Code Online (Sandbox Code Playgroud)
当我/opt/python/current在我找到它的目录 ( ) 中运行时
$ python migrate.py db upgrade
Run Code Online (Sandbox Code Playgroud)
在 SSH 提示符下我得到
Traceback (most recent call last):
File "db_migrate.py", line 15, in <module>
from flask.ext.script import Manager
ImportError: No module named flask.ext.script
Run Code Online (Sandbox Code Playgroud)
即使我的requirements.txt(与同一目录中的其余文件一起出现)有flask-script==2.0.5.
在 Heroku 上,我可以通过两个步骤完成所有这些
> heroku run bash …Run Code Online (Sandbox Code Playgroud)