小编Kai*_*Kai的帖子

用户数据脚本没有在我的自定义AMI上运行,而是在标准的Amazon linux中运行

这几天我搜索了很多关于"用户数据脚本不能正常工作"的话题,但直到现在,我还没有对我的案例有任何了解,请帮我弄清楚发生了什么,非常感谢!

根据AWS 用户数据说明:

在Amazon EC2中启动实例时,您可以选择将用户数据传递给可用于执行常见自动配置任务的实例,甚至可以在实例启动后运行脚本.

所以我试图在实例启动时传递我自己的用户数据,这是我的用户数据:

\#!/bin/bash

echo 'test' > /home/ec2-user/user-script-output.txt
Run Code Online (Sandbox Code Playgroud)

但是这条路径中没有文件: /home/ec2-user/user-script-output.txt

我检查过/var/lib/cloud/instance/user-data.txt,该文件存在且与我的用户数据脚本相同.

我也检查了登录/var/log/cloud-init.log,没有错误信息.

但是如果我用Amazon linux(2014.09.01)启动一个新实例,用户数据脚本就可以了,但是我不确定我的AMI(基于Amazon linux)和Amazon linux之间有什么区别.

我看到的唯一不同的部分是如果我运行这个脚本:

sudo yum list installed | grep cloud-init
Run Code Online (Sandbox Code Playgroud)

我的AMI:

cloud-init.noarch 0.7.2-8.33.amzn1 @ amzn-main

亚马逊linux:

cloud-init.noarch 0.7.2-8.33.amzn1已安装

我不确定这是什么原因?

如果您需要更多信息,我很高兴提供,请让我知道我自己的AMI发生了什么以及如何解决?

非常感谢

更新

刚刚从这篇文章中找到答案,

如果我在用户数据文件的顶部添加#cloud-boothook,它就可以了!

#cloud-boothook
#!/bin/bash
echo 'test' > /home/ec2-user/user-script-output.txt
Run Code Online (Sandbox Code Playgroud)

但仍不确定原因.

linux amazon-ec2 amazon-web-services user-data

47
推荐指数
5
解决办法
4万
查看次数

AWS ec2 上的 504 网关超时,不执行长 php 脚本

当我尝试调用由 PHP 编程的 GET API 时,我多次遇到 http 504 网关超时错误。

这是我的服务器和 AWS 环境。

  • 一个带有 Amazon Linux 的 ec2 实例,它运行带有 apache 服务器 (2.4.12) 的 php 代码 (5.4.40) 来提供来自客户端的 api 调用。
  • 一个 AWS 弹性负载均衡器,用于平衡到我的一个实例的流量。(目前我只有一个实例,以后如果需要更多实例来处理流量,只需设置ELB即可。)
  • 用于保存数据的 AWS RDS 数据库 (MySQL 5.6.21)。

从一些关于 504 网关超时的文章中,我已经尝试修改这些设置:

 # ELB
 idle timeout => 300

 # php.ini
 max_execution_time => 301
 max_input_time => 301

 # httpd conf
 MaxKeepAliveRequests => 100
 KeepAliveTimeout => 30
Run Code Online (Sandbox Code Playgroud)

但是所有这些对我都没有帮助,有时仍然会出现 504 网关超时。

我的php脚本不是一个长脚本,它只是从3个表中的mysql数据库(AWS RDS)中获取数据并将数据返回给客户端,没有上传文件或生成大文件,所以我认为执行时间不是问题。

奇怪的是,504网关超时错误并不总是发生,大多数时候是正常的,只是偶尔发生,现在,我仍然不明白504错误什么时候会发生,真的很奇怪,如果有人能给我一些关于如何解决这个问题的建议,这对我来说真的是一个很大的帮助。

=== 新更新 ===

我刚刚在我的 php 代码中发现了一个问题,我认为这是带有自动加载问题的命名空间。

我在同一个文件夹中有 2 个 php 文件,这意味着 …

php apache amazon-ec2 amazon-web-services amazon-elb

5
推荐指数
1
解决办法
8977
查看次数