我尝试在 vm 上运行spring-boot,并且 nginx 代理所有要求它。我有这个工作但我跑的时候:
mvn spring-boot:run
我的ssh会话结束,它将停止spring引导实例。 (按预期)
我还尝试将<{1}}配置和sym链接 spring-boot jar 添加到服务中,如下所示:
<executable>
然后符号链接 .jar :
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<executable>true</executable>
</configuration>
</plugin>
现在我运行服务时:
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
但是没有运行实际的服务器?! 26208 PID也不会出现在我的流程中!
有什么想法吗?是否有永久运行spring boot应用程序的替代方法?就像节点中的 永远 工具一样?
答案 0 :(得分:10)
如果您在ubuntu中运行应用程序,则可以使用nohup和&amp;在后台运行您的过程。这很简单,我希望它能解决你的问题
nohup mvn spring-boot:run &
http://www.cyberciti.biz/tips/nohup-execute-commands-after-you-exit-from-a-shell-prompt.html
答案 1 :(得分:1)
要在您注销后运行命令,您可以使用 nohup
命令。
nohup
代表“ no hangup
。” nohup
是一个POSIX命令,用于忽略挂断信号。按照惯例,挂断信号是终端警告依赖注销过程的方式。
https://en.wikipedia.org/wiki/Nohup
http://linux.101hacks.com/unix/nohup-command/
您的命令看起来有点像
nohup mvn spring-boot:run &