我正在 ec2 上启动 Django 应用程序,但在尝试在我的 AMI 实例上安装我的代码时遇到了困难。这是我的情况:我有一个 bitnami AMI 启动并运行,它预先安装了 Django、apache、Postgresql 和几乎所有我的依赖项,并且我在我的本地机器上运行了功能齐全的 Django 应用程序,到目前为止我一直在用它进行测试Django 开发服务器。经过一番谷歌搜索,将应用程序安装到 ec2 实例的最常见方法似乎是使用 ssh/sftp/scp 将 tarball 放入实例中,或者创建存储库并从那里导入代码。如果有人能告诉我他们喜欢的方法,并指导我完成整个过程,或者提供一个好的教程的链接,我们将不胜感激!
3 回答
tar -pczf yourfile.tar.gz MyProject
scp -i /home/user/.cert/yourcert.pem yourfile.tar.gz user@serveripaddress:/home/user
tar -xvf /home/user/yourfile.tar
直接复制你的项目所在的文件夹就可以了。但是您提到您使用的是 BitNami 图像,因此您很可能使用的是 BitNami Django Stack Amazon 图像。BitNami 还提供了BitNami Django Stack的本机版本,因此我建议您首先尝试在本机安装程序之上部署您的应用程序,然后查看您需要遵循的确切步骤。例如,您可能需要安装 python 依赖项,或者如果您计划在生产环境中使用 Apache 而不是 Django 开发服务器,则需要配置 Apache 来为您的项目提供服务。我是一名 BitNami 开发人员,我之所以提到这一点,是因为更容易在不同平台(包括 ec2)中进行部署是 BitNami 的目标之一,并且由于您已经在使用它,因此您可以利用这一点。
I usually simply scp -R my whole site directory into /home/bitnami of my AMI. I'm using Apache/NGINX/Django with mod_wsgi. So the directory (for example /home/bitnami/djangosites/) gets referred to based on my mod_wsgi path in my apache cfg file.
In other words, why not just move the whole directory recursively (scp -R) instead of making a tarball etc?