ubuntu 18.04LTS中部署spring boot 包,并实现开机自启动

Ubuntu 18.04LTS Server版是比较流行的服务器操作系统,很爱广大开发和运维人员喜爱。但是,该版本较以往的版本有较大改动,致使许多系统运维的配置办法无效,让程序员和运维人员比较头疼。本人在产品实施过程中,遇到了一个比较典型的问题,找了好半天终于把路子走通,在此做一下记录,与大家分享。

需求:将基于Spring Boot开发的工程文件,打包发布到ubuntu服务器中(18.04LTS),并实现开机自启。

解决方案:上网百度+soso。网上有好多方法和文章,但好像都是只言片语。

采坑拨乱:

1.假设您的工程是基于maven构建在idea下开发的:需要对项目的pom文件进行如下修改:


   hello
   
      
         org.springframework.boot
         spring-boot-maven-plugin
         
            true
         
      
   

以上代码在大家的工程里都比较常见,但是加粗部分是关键,这样通过maven打的包,可以不用java -jar XX.jar的形式来调用。后面大家会感到它的便利。

2.将生成的jar包(在target目录下)上传到ubuntu 服务器,比如我在自己的opt 下建了一个myapp的路径:/opt/myapp,并将它授权给我自己 sudo chown myusergroup:myuser  /opt/myapp.

3.将这个jar包赋于可执行权:sudo chmod -R 777 hello.jar,(直接高效777,简单粗暴黑客笑,哈)。

4.做个软链接到/etc/init.d, sudo ln -s /opt/myapp/hello.jar hello,然后用 sudo /etc/init.d/hello start 见证一下奇迹。

5.关键的来了,用sudo update-rc.d hello default 90 命令给做成系统服务(90是序号,好像最大是99,服务启动的序号)。

重启系统,见证神奇,告别java -jar。

------------------------------------------------------

tips: 删除该服务可用 sudo update-rc.d -f hello remove 命令。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

你可能感兴趣的:(软件开发,系统运维,linux,java,spring,boot,ubuntu)