【发布时间】:2020-07-24 01:10:46
【问题描述】:
我正在向 Beanstalk 部署一个 PHP 应用程序,一切似乎都很好,但是我的 .ebextensions 配置文件似乎没有运行。
我只有一个配置文件,应该创建一个文件,然后重新加载 nginx。/my-project/.ebextensions/nginx.config:
files:
"/etc/nginx/conf.d/elasticbeanstalk/extend-nginx.conf" :
mode: "000755"
owner: root
group: root
content: |
add_header X-Frame-Options "SAMEORIGIN";
add_header X-XSS-Protection "1; mode=block";
add_header X-Content-Type-Options "nosniff";
location / {
try_files $uri $uri/ /index.php?$query_string;
}
container_commands:
reload_nginx:
command: "sudo service nginx reload"
我的架构目前是:
1. CodePipeline 连接到 GitHub,每次更新 master 时都会将应用程序部署到 CodeDeploy。
2. CodeDeploy 从 CodePipeline 接收部署。
3. CodeDeploy 将其安装到 Elastic Beanstalk 实例。
以上所有步骤都可以正常工作。我只是不明白为什么.ebextensions 中的配置文件没有按预期创建文件。
注意:我已通过手动下载其中一个修订版并检查,确认 .ebextensions 文件夹位于修订版 .zip 的根目录中。
【问题讨论】:
-
您通过ssh进入实例并验证文件没有被创建?还是只是 nginx 上的配置没有更新?
-
无论如何,我正在检查另一个我们做类似事情的项目,唯一的区别是我们没有指定
mode、owner和group,文件夹是.. .conf.d/file.conf,所以我们在 conf.d 上没有另一个文件夹,我们在没有 sudo 的情况下运行service nginx reload,尝试更改这些,看看是否适合您,这是我们唯一的区别一个工作文件 -
你有没有得到真正的答案@Musa?我也不想用户
sed,AWS 文档显然不起作用(至少对于 AL2)-> docs.aws.amazon.com/elasticbeanstalk/latest/dg/… 这正是您尝试过的
标签: amazon-web-services nginx amazon-elastic-beanstalk aws-code-deploy aws-codepipeline