我怎样才能让spring-boot在ubuntu上永远运行?

smtd7mpg  于 2023-01-04  发布在  Spring
关注(0)|答案(4)|浏览(155)

我正在尝试在***vm***上运行spring-boot,并让***nginx***代理所有对它的请求。我已经得到了这个工作,但当我运行:

mvnSpring罩:运行

ssh会话结束时,它将停止spring Boot 示例。(* 如预期
我还尝试过将<executable> config和符号链接
spring-boot jar*添加到服务,如下所示:

<plugin>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-maven-plugin</artifactId>
     <configuration>
           <executable>true</executable>
     </configuration>
</plugin>

然后符号链接***.jar***:

sudo ln -s /var/users-java/target/user-0.0.1-SNAPSHOT.jar /etc/init.d/user_service

现在,当我运行服务时:

sudo /etc/init.d/user_service start

它将注销:

Started [26208]

但是不运行实际的服务器?!***26208***PID也不会显示在我的进程中!
有什么想法吗?有没有一种替代的方法可以永远运行一个Spring Boot 应用程序?就像节点中的***forever***工具?

gpnt7bae

gpnt7bae1#

如果你在ubuntu中运行你的应用程序,你可以使用nohup和&在后台运行你的进程,这很简单,我希望它能解决你的问题

nohup mvn spring-boot:run &

http://www.cyberciti.biz/tips/nohup-execute-commands-after-you-exit-from-a-shell-prompt.html

tf7tbtn2

tf7tbtn22#

要在注销后运行命令,您可以使用**nohup**命令。

nohup代表“no hangup”。**nohup**是一个POSIX命令,用于忽略挂起信号。按照约定,挂起信号是终端警告相关进程注销的方式。

https://en.wikipedia.org/wiki/Nohup
http://linux.101hacks.com/unix/nohup-command/
您的命令将类似于

nohup mvn spring-boot:run &
cqoc49vn

cqoc49vn3#

sudo mvn spring-boot:start以分离后台模式启动项目,即使关闭终端也能运行。可以使用sudo mvn spring-boot:stop停止

tjvv9vkg

tjvv9vkg4#

nohup不支持对正在运行的服务进行管理,最好使用专门设计用于管理服务的系统,如Linux systemd,通过systemctl命令进行配置。
有关详细信息,请参见Spring Boot Application as a Service

相关问题