我正在尝试在***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***工具?
4条答案
按热度按时间gpnt7bae1#
如果你在ubuntu中运行你的应用程序,你可以使用nohup和&在后台运行你的进程,这很简单,我希望它能解决你的问题
http://www.cyberciti.biz/tips/nohup-execute-commands-after-you-exit-from-a-shell-prompt.html
tf7tbtn22#
要在注销后运行命令,您可以使用**
nohup
**命令。nohup
代表“no hangup
”。**nohup
**是一个POSIX命令,用于忽略挂起信号。按照约定,挂起信号是终端警告相关进程注销的方式。https://en.wikipedia.org/wiki/Nohup
http://linux.101hacks.com/unix/nohup-command/
您的命令将类似于
cqoc49vn3#
sudo mvn spring-boot:start
以分离后台模式启动项目,即使关闭终端也能运行。可以使用sudo mvn spring-boot:stop
停止tjvv9vkg4#
nohup
不支持对正在运行的服务进行管理,最好使用专门设计用于管理服务的系统,如Linux systemd,通过systemctl命令进行配置。有关详细信息,请参见Spring Boot Application as a Service。