How can I get spring-boot to run forever on ubuntu?

若如初见. 提交于 2019-12-05 00:11:43

问题


I'm trying to run spring-boot on a vm and have nginx proxy all request towards it. I've got this working but when I run:

mvn spring-boot:run

And my ssh session ends, it will stop the spring boot instance. (as expected)

I've also tried adding the <executable> config and sym-linking the spring-boot jar to a service, like so:

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

Then symlink the .jar:

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

Now when I run the service:

sudo /etc/init.d/user_service start

It will log out:

Started [26208]

But not run the actual server?! The 26208 PID won't show up in my processes either!

Any ideas? Is there an alternate way of running a spring boot app forever? Like the forever tool in node?


回答1:


If you are running you application in ubuntu, you can use nohup and & to run your process in background. It is simple and I hope it will solve your problem

nohup mvn spring-boot:run &

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




回答2:


To run a command even after You logout you can use nohup command.

nohup stands for "no hangup." nohup is a POSIX command to ignore the hangup signal. The hangup signal is, by convention, the way a terminal warns dependent processes of logout.

https://en.wikipedia.org/wiki/Nohup

http://linux.101hacks.com/unix/nohup-command/

Your command will look somewhat like

nohup mvn spring-boot:run &


来源:https://stackoverflow.com/questions/38088458/how-can-i-get-spring-boot-to-run-forever-on-ubuntu

工具导航Map