概述
初步学习Springboot编写服务,尝试部署到Linux环境下,并进行开机自启动。
Linux系统:Centos7.6
Java包:xxx.jar

流程
将 xxx.jar 包(及外部配置文件)放入Linuxu系统中,假设放到/home/test/路径下;
修改文件权限:chmod 777 xxx.jar , 赋予jar包可执行权限;
编写启动脚本,假设命名为:xxx.sh:

export JAVA_HOME=/opt/jdk1.8
export PATH=$JAVA_HOME/bin:$PATH
cd /home/test/
nohup java -jar xxx.jar >> /home/test/xxx.log 2>&1 &

1.
2.
3.
4.
手动测试:sh xxx.sh ,然后 ps ax | grep java ,查看是否能正常启动;
若上述步骤正常,说明jar包和脚本都正确;接下来增加开机启动项:
vim /etc/rc.local
在文件最后添加一行:sh /home/test/xxx.sh
重启机器;机器启动后, ps ax | grep java 查看程序是否随开机启动;
若程序启动,查看 /home/test/xxx.log 文件,日志是否正常;
至此,Linux 环境下设置 jar 包开机自启动流程结束。

备注
脚本文件需先export java环境,因为其他含Java环境变量的配置文件可能加载滞后,影响程序启动;
若有外部配置文件,需在脚本文件中先 cd 到程序所在目录,以便正常加载外部配置文件(也可以使用命令行参数指定外部配置文件,我没试);
shell 重定向: > 代表清空原文件,重新写入; >> 代表追加到重定向文件;
2>&1:将标准错误stderr重定向到标准输出stdout;
nohup xxx &:后台启动程序。
-----------------------------------
©著作权归作者所有:来自51CTO博客作者006玩命的原创作品,请联系作者获取转载授权,否则将追究法律责任
Linux 设置 jar 包开机自启动
https://blog.51cto.com/weiyuqingcheng/3728176

环境: 阿里云 centos 7.6

** 启动脚本 1.facepay-service.sh **

#!/bin/sh
export JAVA_HOME=/usr/local/software/jdk1.8.0_181  #对应的 jdk 位置  可以使用 which java 查看具体位置
export PATH=$JAVA_HOME/bin:$PATH
nohup java -jar /root/facepay/facepay-0.0.1.jar &
echo $! > /root/facepay/facepay.pid   #将上一次启动的pid 写入到指定文件
1
2
3
4
5
停止脚本 2.facepay-service-stop.sh

#!/bin/sh
PID=$(cat ~/facepay/facepay.pid)
kill -9 $PID
1
2
3
编写注册服务 facepay.service 放到目录 /usr/lib/systemd/system

[Unit]
Description=facepay
After=network.target   
[Service]
Type=forking
ExecStart=/root/facepay/facepay-service.sh #启动服务脚本的绝对路径
ExecStop=/root/facepay/facepay-service-stop.sh #停止服务脚本的绝对路径.
PrivateTmp=true
[Install]
WantedBy=multi-user.target
1
2
3
4
5
6
7
8
9
10
相关操作

systemctl start facepay  #启动 facepay 服务
systemctl stop facepay  #停止 facepay 服务
systemctl status facepay #查看 facepay 服务当前的运行状态

systemctl enable facepay #开机启动 facepay 服务
systemctl disable facepay #取消开机启动 facepay 服务
systemctl list-unit-files; #查看当前服务(是否开机启动等)状态
————————————————
版权声明:本文为CSDN博主「fengyupeng」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/fengyupeng/article/details/102778842

Linux 设置 jar 包开机自启动相关推荐

  1. Linux设置JAR包开机自启

    一.新建启动JAR包的sh文件 nohup java -jar xxx.jar > xxx.log & #用你的项目名称代替上述的XXX #此sh文件,命名为startup.sh 二.设 ...

  2. linux服务器设置jar包开机自启动

    一.前言 此方法乃是博主实践操作所得,亲测有效.步骤傻瓜,欢迎使用. 适用的linux版本为CentOS,其他版本不清楚是否可用. 查看linux服务器版本的命令为:lsb_release -a 二. ...

  3. Windows下怎样设置jar包开机自启动运行

    场景 在Windows服务器上部署jar包运行. 但是如果自己搭建的服务器或者是电脑重启后就就需要重新运行jar包. 怎样设置在Windows开机后自动运行jar包. 注: 博客: https://b ...

  4. Windows Jar包开机自启动

    一.引言 今天本来是空闲摸鱼的一天~ 客户群里疯狂@我,服务怎么访问不了.心想怎么可能会有bug,上周五刚测试完. 怀着心惊胆战上服务器一看日志,原来是服务器重启导致jar包没启动了~ 二.实现方式 ...

  5. Centos7设置多个jar包开机自启动

    公司项目中,centos7服务器每次开机后,jar包都需要一个个输入指令,手动开启,非常繁琐.参考大佬的文档后,整理以下步骤: 1.需要开机自启动的jar包列表如下: thinvent-auth.ja ...

  6. Java swing设置jar包开机启动

    参考文章:java实现Windows开机自启动 java创建桌面图标快捷方式 StartupDemo.java package org.fiend.swing.test.demo.startup.te ...

  7. Linux 设置Docker容器开机自启动,Dokcer容器常用命令总结。

    文章目录 Linux Dokcer容器常用命令总结 一.docker 常用基础命令总结 二.工作中常用docker命令 三.查看容器挂载目录 四.容器拷贝文件 五.设置搭建好容器开机自启 六.开启do ...

  8. (十二)Linux设置定时任务及开机自启动

    欢迎访问个人网络日志

  9. java开机自启动 Linux,java项目jar包开机自启(WINDOWS,Linux)

    WINDOWS: 1.新建一个text文件,将 java -jar D:\eclipse-workspace\attendance\target\mybatis-generator.jar写入,修改文 ...

最新文章

  1. 字符编码的发展(ASCII、Unicode、utf-8)
  2. html5 历史管理
  3. C/Cpp / static 关键字
  4. python中异常和错误是一个概念_Python的异常概念介绍以及处理
  5. flask和ajax通信详细步骤与完整代码
  6. LeetCode 129. 求根到叶子节点数字之和(DFS)
  7. 利用IKVM在C#中调Java程序
  8. C语言学习输入输出函数,函数的调用
  9. 做好开源项目 需要坚持
  10. ASP.NET:返回按钮的解决方案摸索
  11. leetcode136只出现一次的数字
  12. anaconda下载过慢修改源配置
  13. 【优化分类】基于matlab GA优化GRNN超参数分类【含Matlab源码 1399期】
  14. 如何调整Exadata DB节点文件系统大小
  15. Spring AOP的MyBatis事务管理
  16. Leetcode995 Minimum Number of K Consecutive Bit Flips解决方案
  17. 怎么修改背景图片大小的HTML代码,网页背景图片的大小的代码是什么
  18. GAN系列学习(1)——前生今世
  19. 联想拯救者15isk清灰_联想拯救者-15介绍_联想 拯救者15-ISK_笔记本评测-中关村在线...
  20. UI基础三:简单的BOL报表开发

热门文章

  1. 求职面试时应该如何谈薪水
  2. Open×××的Linux内核版,鬼魅的残缺 Prelude
  3. 卡方检验结果怎么看-医学统计助手★卡方检验,t检验,F检验,秩和检验,方差分析
  4. PHP Mysql字符集utf8mb4支持Emoji表情
  5. 吐槽一下颓废的自己+请教问题
  6. 学习笔记—使用python画帕累托分布图
  7. 为什么需要进行性能测试?
  8. GridBagLayout 以及 GridBagConstraints 用法
  9. JS-购物车加减操作
  10. 无限火力更新服务器公告,英雄联盟无限火力官网公告2021?无限火力怎么玩?...