Ubuntu 18.04LTS Server版是比较流行的服务器操作系统,很爱广大开发和运维人员喜爱。但是,该版本较以往的版本有较大改动,致使许多系统运维的配置办法无效,让程序员和运维人员比较头疼。本人在产品实施过程中,遇到了一个比较典型的问题,找了好半天终于把路子走通,在此做一下记录,与大家分享。
需求:将基于Spring Boot开发的工程文件,打包发布到ubuntu服务器中(18.04LTS),并实现开机自启。
解决方案:上网百度+soso。网上有好多方法和文章,但好像都是只言片语。
采坑拨乱:
1.假设您的工程是基于maven构建在idea下开发的:需要对项目的pom文件进行如下修改:
<build>
<finalName>hello</finalName>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<executable>true</executable>
</configuration>
</plugin>
</plugins>
</build>
以上代码在大家的工程里都比较常见,但是加粗部分是关键,这样通过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 命令。

本文记录了在Ubuntu 18.04LTS Server上部署Spring Boot应用的过程,包括如何修改pom.xml以避免使用`java -jar`启动,将jar包上传至服务器,赋予执行权限,创建软链接到`/etc/init.d`,以及设置为开机自启动服务的方法。此外,还提供了删除该服务的命令。

被折叠的 条评论
为什么被折叠?



