Loï*_*oïc 2 apache amazon-web-services amazon-elastic-beanstalk ebextensions
我无法在 /etc/httpd/conf.d/elasticbeanstalk 中写入带有 .ebextensions 的文件。我需要编写一个 vhost.conf 来添加子域。我在我尝试了很多方法:用“files:...”写文件
files:
"/etc/httpd/conf.d/elasticbeanstalk":
mode: "000777"
owner: root
group: root
encoding: plain
content: |
NameVirtualHost *:80
<VirtualHost *:80>
ServerName api.domain.com
DocumentRoot "/var/app/current/api/"
<Directory "/var/app/current/api">
AllowOverride All
Require all Granted
</Directory>
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)
然后我尝试将此文件写入临时目录并使用命令将其复制到 /etc/httpd/conf.d/elasticbeanstalk
files:
"/home/ec2-user/vhost.conf":
mode: "000777"
owner: root
group: root
encoding: plain
content: |
NameVirtualHost *:80
<VirtualHost *:80>
ServerName api.domain.com
DocumentRoot "/var/app/current/api/"
<Directory "/var/app/current/api">
AllowOverride All
Require all Granted
</Directory>
</VirtualHost>
container_commands:
00_chmod:
command: "sudo chmod 777 /etc/httpd/conf.d/elasticbeanstalk"
01_rewrite:
command: "sudo mv -f /home/ec2-user/vhost.conf /etc/httpd/conf.d/elasticbeanstalk/vhost.conf"
02_apache:
command: "sudo apachectl restart"
Run Code Online (Sandbox Code Playgroud)
也不工作。所以我用 SSH 检查了一些关于 ec2 实例的信息。该文件是在 /home/ec2-user 中创建的,但不在 apache 文件夹中。我究竟做错了什么 ?如果没有 chmod 目录 (SSH),我无法在 /etc/httpd/conf.d/elasticbeanstalk 中创建文件。
我在 PHP 7.4 上运行 64 位 Amazon Linux 2/3.1.1(代理 apache 而不是 nginx),我有完全相同的目录 .ebextension,在其他应用程序的另一个实例上有相同的文件,但在 64 位 Amazon Linux 上运行的 PHP 7.2 /2.9.10,它正在处理这个!这两个环境之间有什么区别?
编辑:我在日志中没有错误,所有命令都被执行了!
感谢您的任何帮助 !
好的,我找到了解决方案!在平台 3.X 上,我们必须将此配置放在 .platform 文件夹中,而不能放在 .ebextensions 文件夹中。这可以帮助:https : //docs.aws.amazon.com/elasticbeanstalk/latest/dg/using-features.migration-al.html
| 归档时间: |
|
| 查看次数: |
612 次 |
| 最近记录: |