Spring boot Jar 通过服务方式部署

Gradle 配置增加

springBoot { executable = true }

通过该插件可 build 'fully executable' Jar ,嵌入一个额外的 shell 脚本,方便注册为 Unix/Linux services

Build 可执行的 Jar 包


注意赋予 Jar 包可执行权限

$ sudo chmod +x myapp.jar

这时可以通过 ./myapp.jar 启动项目

注册到系统服务

建立一个软链接,将脚本注册到 init.d 中 (通过 vim /etc/init.d/myapp 可查看脚本内容)

$ sudo ln -s /home/user/www/myapp.jar /etc/init.d/myapp

以服务方式管理

$ sudo service myapp start | stop | restart | status 

(or $ sudo /etc/init.d/myapp start)

默认控制台输出日志位置

/var/log/<appname>.log

自定义配置文件

Spring boot 提供了一些属性可供配置,只需在 myapp.jar 相同位置创建 myapp.conf ,并放入配置属性如:

JAVA_HOME=/home/user/dev/jdk1.8

LOG_FOLDER=/home/user/log

JAVA_OPTS=-Xmx1024M

更多的信息查看 Spring boot 官方文档的 Installing Spring Boot applications 章节,注意 Spring boot 版本

遇到的启动问题:

以上是官方文档的步骤,但是死个舅子在 ubuntu server 16.04.3 上运行不起来,提示 Unable to find java ,Jar 本来是已经可以直接运行,查看了一下服务脚本,问题应该是通过服务启动时始终找不到 $JAVA_HOME,最后通过在配置文件中显式指定 JAVA_HOME 解决
完成自定义配置后先执行命令重新加载一下服务

$ sudo systemctl daemon-reload

否则可能出现 Unit myapp.service not found 或者 myapp.service changed on disk. Run 'systemctl daemon-reload' to reload units.

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值