【问题标题】:How run a command (python file) on boot on AWS EC2 server如何在 AWS EC2 服务器上启动时运行命令(python 文件)
【发布时间】:2018-11-20 23:32:20
【问题描述】:

我在每次 AWS 服务器启动时运行 python 文件时遇到一些问题。

我正在尝试运行 python 文件以在 Amazon Webservice EC2 服务器上启动 Web 服务器。

但我仅限于编辑 systemd 文件夹和其他文件夹,例如 init.d

有什么问题吗?

对不起,我不太了解 EC2 的操作系统,似乎很多方法都不起作用。

我通常通过 ssh 来启动我的服务器是:

python hello.py

谁能告诉我每次系统重启时如何自动运行这个文件?

【问题讨论】:

  • 你没有说你遇到了什么问题/错误,但你可能想通过完整的路径名(例如/users/home/ec2-user/hello.py)引用hello.py

标签: python linux amazon-web-services amazon-ec2


【解决方案1】:

这取决于您的 linux 操作系统,但您在 init.d 中处于正确的轨道上。这正是您希望在启动时运行任意 shell 脚本的地方。

这是一个很棒的 HOWTO 和解释: https://www.tldp.org/HOWTO/HighQuality-Apps-HOWTO/boot.html

还有另一个特定于运行 python 脚本的堆栈溢出:

Run Python script at startup in Ubuntu

如果你想分享你的 linux 操作系统,我可以更具体。

编辑:这可能会有所帮助,看起来他们有某种启动向导: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/user-data.html

当您在 Amazon EC2 中启动实例时,您可以选择 将用户数据传递给可用于执行常见操作的实例 自动配置任务,甚至在实例之后运行脚本 开始。您可以将两种类型的用户数据传递到 Amazon EC2:shell 脚本和 cloud-init 指令。您也可以将此数据传递给 启动向导作为纯文本,作为文件(这对于 使用命令行工具启动实例),或作为 base64 编码文本(用于 API 调用)。

【讨论】:

  • 感谢您的回复,我正在使用windows powershell通过ssh访问amazon web server。所以系统应该是AMAZON EC2 linux系统。我搜索了很多方法,但由于访问权限的原因,它们都失败了
  • 谢谢。 Amazon EC2 实例是一些标准的 linux 发行版,我只是不确定是哪一个。 (或者如果你可以选择)。尝试其中一些:howtogeek.com/206240/… 如果您遇到权限问题,请尝试在命令之前运行 sudo: sudo 这将提示您输入密码以作为超级用户运行。这也可能是您的 SSH 凭据,但我对此表示怀疑。您可以查看亚马逊的文档,这可能有助于回答这些问题。
  • 哦,伙计,他们没有在我粗略的搜索中指出:aws.amazon.com/mp/linux 文档可能是关键。
猜你喜欢
  • 1970-01-01
  • 2020-09-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-08-11
  • 2014-04-11
  • 1970-01-01
相关资源
最近更新 更多