【问题标题】:How do I make my server application run on an EC2 instance?如何让我的服务器应用程序在 EC2 实例上运行?
【发布时间】:2018-12-23 07:36:57
【问题描述】:

我开发了一个 Java 服务器(使用 Spring)并使用 FileZilla 将最终的可执行 JAR 上传到一个 EC2 实例。现在我想让它运行。

我已通过 SSH 连接并使用 java -jar server.jar 运行我的服务器,它工作正常(我已尝试访问它)。然而,一旦 SSH 连接关闭,服务器显然也会停止运行。

我怎样才能以这种方式启动我的应用程序以使其继续运行?

编辑:使用命令 screen 解释 here 我能够在后台运行它,因此它会继续运行。

【问题讨论】:

标签: java amazon-web-services amazon-ec2


【解决方案1】:

问题不依赖于云,您必须执行配置才能在系统中将 jar 作为服务运行。 如果您使用 Elastic Bean Stalk 在下面的示例中将 systemctl 更改为 initctl

  1. 将您希望运行的脚本命令放在 /usr/bin/demoscript.sh 中
  2. 记得使用 chmod +x 使脚本可执行。
  3. 创建以下文件:

/usr/lib/systemd/system/demo.service

[Unit]
Description=Demo Script

[Service]
Type=forking
ExecStart=/usr/bin/demoscript.sh
  1. 重新加载 systemd 服务文件:systemctl daemon-reload
  2. 检查它是否与 systemctl start demo 一起工作

【讨论】:

    【解决方案2】:

    你需要让它在linux中作为守护进程运行。

    有许多教程/模板可用于创建守护进程 shell 脚本。快速谷歌搜索显示 github 有很多模板,所以检查一下。

    【讨论】:

      猜你喜欢
      • 2018-12-26
      • 1970-01-01
      • 1970-01-01
      • 2022-10-09
      • 2019-04-12
      • 2014-06-30
      • 1970-01-01
      • 1970-01-01
      • 2014-05-11
      相关资源
      最近更新 更多