在弹性beanstalk部署上的ec2微实例上创建交换文件/驱动器

Mar*_*ark 2 php amazon-ec2 amazon-web-services composer-php amazon-elastic-beanstalk

所以只要我把它放在比micro更大的实例上,我的应用程序就可以安装和部署.

当我在micro上部署时,当composer尝试安装时,我得到一个关于无法分配足够内存的php错误.所以我做了一些谷歌搜索,似乎你可以在启动时创建交换文件/磁盘/创建实例这里有两个教程

这些可能是过时的,所以第一个问题是,这仍然可以吗?

第二个问题是如何创建.ebextensions文件以在部署时实现?

这是我的尝试,但不足为奇,因为我对此知之甚少.

commands:
command:dd if=/dev/zero of=/swapfile bs=1M count=3072
command:mkswap /swapfile
command:swapon /swapfile
Run Code Online (Sandbox Code Playgroud)

jok*_*ker 10

没有尝试创建交换,所以我无法回答你的第一个问题.但请注意,该.ebextensions文件是YAML文件.这意味着空间和语法对于正常工作的东西非常重要......

你的例子的语法有点偏.应该是一些东西(见这里):

commands:
    000_dd:
        command: dd if=/dev/zero of=/swapfile bs=1M count=3072
    001_mkswap:
        command: mkswap /swapfile
    002_swapon:
        command: swapon /swapfile
Run Code Online (Sandbox Code Playgroud)

命令按字母顺序执行,因此在数字前加上一个数字是一个好主意.

确保您能够登录EC2实例,并密切关注该/var/log/cfn-init.log文件.这将告诉你会发生什么.什么没有按预期工作...... ;-)

祝好运!