问题描述
为 AWS 课程做实验。我们启动一个 Ec2 并在配置设置中键入一个应该自动启动和运行 Apache Web 服务器的脚本。但是通过管理控制台输入脚本/文本,它显然没有安装网络服务器: screenshot of instructions from the textbook
screenshot of the script we're expected to install
我已经使用不同的方法在 ec2 上安装了不同的 apache 网络服务器; mac上的终端使用:
yum install -y httpd.x86_64
现在我在启动时启动它:
systemctl start httpd.service
所以现在,显然它可以通过我安装的解决方法工作,但是,我想知道为什么在尝试只是书籍方法时无法访问站点/公共ip4:
#include https://s3.amazonaws.com/jbawsbook/bootstrap.sh
我再次按照书中指示的方式进行了操作,即在 ec2 的初始设置期间。但我也尝试在 ssh 进入 ec2 后通过 bash 运行它。无论我如何尝试,结果都是一样的。显然我可能做错了什么,因为我只是在学习?是的,我也尝试通过 amazon linux 2 运行脚本。
bash: https://s3.amazonaws.com/jbawsbook/bootstrap.sh: No such file or directory
解决方法
如果你使用它会起作用:
#include
https://s3.amazonaws.com/jbawsbook/bootstrap.sh
来自CloudInit - Community Help Wiki:
包含文件以#include
或Content-Type: text/x-include-url
此内容是一个“包含”文件。该文件包含网址列表,每行一个。将读取每个 URL,并且它们的内容将通过同一组规则传递。即从 URL 读取的内容可以是 gzipped、mime-multi-part 或纯文本
所以,看起来发布者丢失了换行符。