java - 如何使我的服务器应用程序在 EC2 实例上运行?

标签 java amazon-web-services amazon-ec2

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

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

如何启动我的应用程序以使其保持运行?

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

最佳答案

这个问题不依赖于云,而是您必须执行的配置才能将 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
  • 重新加载 systemd 服务文件:systemctl daemon-reload
  • 检查它是否可以与 systemctl start demo 一起使用
  • 关于java - 如何使我的服务器应用程序在 EC2 实例上运行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51350237/

    相关文章:

    amazon-web-services - 如何通过Amazon Route 53映射带有端口号的URL

    java - java.nio.charset.Charsets 发生了什么?

    java - JDBC 连接太多 - 连接已正确关闭

    node.js - Elastic Beanstalk 出现 Node.js 启动错误

    node.js - 使用来自拥有的域的 TLS 证书,并在 AWS Elastic Beanstalk 提供的 URL 上使用它

    mysql - 试图根据预期的查询/插入数量来估计 aws 将花费我多少

    java - 列表页面 RecyclerView 无限滚动在放入 NestedScrollView 时不起作用

    java - 从词法分析器/解析器语法生成产生式

    amazon-web-services - 您可以通过 API 添加亚马逊购物车的地址吗?

    amazon-web-services - Aws 证书管理器 api 不显示导入的证书