java - 为什么 Spring Boot 后端 JAR 文件在 Ubuntu 上只运行一小段时间?如何让它作为服务运行?

标签 java spring spring-boot ubuntu jar

我写了一个 Spring Boot RESTful API 后端,编译成 backend.jar文件并通过命令 java -jar backend.jar 在 Ubuntu(AWS 的 EC2)上运行它.它可以很好地服务请求,但是它似乎只运行了一小会然后就消失了,因此无法服务以下请求。我可以重新运行java -jar backend.jar但它只能在短时间内起作用。
如何制作 backend.jar永久喜欢服务?
(我是服务器管理的新手)

最佳答案

为您的服务创建用户

$ sudo useradd thangtran
$ sudo passwd thangtran
$ sudo chown thangtran:thangtran backend.jar
$ sudo chmod 500 backend.jar
解决方案 1:使用 systemd(推荐)。在目录 /etc/systemd/system , 创建文件 backend.service有内容
[Unit]
Description=A Spring Boot application
After=syslog.target

[Service]
User=thangtran
ExecStart=/path/to/backend.jar SuccessExitStatus=143 

[Install] 
WantedBy=multi-user.target
https://viblo.asia/p/su-dung-systemd-de-chinh-sua-service-linux-m68Z0PJNZkG 上查看更多信息
解决方案 2:System V 初始化
sudo ln -s /path/to/backend.jar /etc/init.d/your-app
$ sudo service your-app start
登录 /var/log/backend.log应用程序的进程 ID 在 /var/run/backend/backend.pid 上跟踪

关于java - 为什么 Spring Boot 后端 JAR 文件在 Ubuntu 上只运行一小段时间?如何让它作为服务运行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72108732/

相关文章:

java - 在正确的时间脱离 Switch

java - 如何在Java中抽象出不同的返回类型?

java - 类应用监听配置错误

java - 使用 docker 和 kubernetes 部署的 Spring-boot 微服务应用程序 : Services not communicating

java - Spring MVC : Having multiple @ModelAttribute in form handling action

java - 如何在两个实体之间使用 foreach

java - 如何将 context.xml 文件添加到嵌入式 tomcat 服务器

java - 将许多 Single<List<Type>> 组合成 Single<List<Type>> 的最有效方法是什么?

java - 服务器如何向客户端推送数据?

java - 由于架构验证,Spring Boot 项目无法运行 : missing sequence [hibernate_sequence]