SpringBoot Linux下应用服务化

随着微服务的兴起,springboot横空出世,之前我们都在诟病spring这套配置太特么难用了,一堆xml,之后随着javaConfig和自动扫描的引入,也让配置java化,但是这样效率还是不够高,有些jar的依赖管理起来还是有点麻烦的,接着springboot comeout,如果说spring给java EE的开发带来了春天,那么springboot无疑是这春天里最耀眼的一道曙光。

我们知道springboot集成好了web容器,我们最后只要把应用打包好,就可以直接部署了:

  • 首先:
mvn  clean//clean 一下之前项目下的target文件
mvn  package //给应用打包
  • 然后:
    在项目target目录下找到对应的jar,我这里的jar是这样的:
    demo-0.0.1-SNAPSHOT.jar,把这个jar文件copy 到linux下

  • 接着:

 chmod u+x demo-0.0.1-SNAPSHOT.jar //给当前用户执行这个jar的权限
  • 然后:
vim start.sh //创建一个启动脚本 把下面这两行copy进去
#!/bin/bash
java -jar /home/vagrant/demo-0.0.1-SNAPSHOT.jar

这里需要注意一点,jar的路径是绝对路径,绝对路径,绝对路径 ,否则会出现问题。

  • 然后:
chmod u+x start.sh//设置脚本为可执行,且为用户设置执行权限
  • 接着:
sudo ln -s /home/vagrant/start.sh /etc/init.d/demo 

这是给start.sh添加一个服务,服务名称为demo,注意上面的路径都是绝对路径,然后sudo ln -s 就是给start.sh添加一个软链接,这个链接就是服务demo

  • 然后:
sudo service demo start//启动demo 服务

其实demo服务就是 start.sh这个脚本,然后这个脚本会执行那个jar,然后整个project就启动起来了,如下图:

boot.png

可以看到,这个jvm进程启动成功用了9秒多的时间,然后tomcat绑定的端口是9999,这个是我自己定义的,这样springboot 在linux下的服务化就大功告成了。

`

推荐阅读更多精彩内容