运行引导 shell 脚本以在 ec2 上安装 apache:“没有这样的文件或目录”

问题描述

为 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

包含文件#includeContent-Type: text/x-include-url

开头

此内容是一个“包含”文件。该文件包含网址列表,每行一个。将读取每个 URL,并且它们的内容将通过同一组规则传递。即从 URL 读取的内容可以是 gzipped、mime-multi-part 或纯文本

所以,看起来发布者丢失了换行符。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...