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

时间:2018-07-15 16:42:28

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

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

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

如何以这种方式启动我的应用程序,使其保持运行状态?

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

2 个答案:

答案 0 :(得分:1)

此问题与云无关,它是在系统中将jar作为服务运行时必须执行的配置。 如果使用的是弹性豆茎,则在下面的示例中将 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一起使用

答案 1 :(得分:0)

您需要使其在Linux中作为守护进程运行。

有许多教程/模板可用于创建守护程序shell脚本。快速的Google搜索显示github有很多模板,请检查一下。