在Linux配置自启动jar包方式

 更新时间:2024年01月23日 09:20:32   作者:XMLKevin  
这篇文章主要介绍了在Linux配置自启动jar包方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

springboot 项目内嵌tomcat,一般打包成jar

一、运行jar包

  • 直接使用 idea 执行打包操作,打包完成后在项目目录中就会生成 target 目录
  • 把生成的 jar 包上传到服务器中
  • 执行命令
nohup java -jar xxx.jar >log.log 2>&1 &

nohup说明:

1、后台运行xxx.jar包,日志输出到指定文件log.log中

2. 带&的命令行,即使terminal(终端)关闭,或者电脑死机程序依然运行(前提是你把程序递交到服务器上);

3. 2>&1的意思:

这个意思是把标准错误(2)重定向到标准输出中(1),而标准输出又导入文件output里面,所以结果是标准错误和标准输出都导入文件output里面了。 至于为什么需要将标准错误重定向到标准输出的原因,那就归结为标准错误没有缓冲区,而stdout有。这就会导致 >output 2>output 文件output被两次打开,而stdout和stderr将会竞争覆盖,这肯定不是我门想要的

二、终止程序

1、首先找到该jar在运行时产生的进程号pid

  • a、在运行成功时会自动返回一个pid,如下图5509既是。

  • b、根据jar所占用端口(如果有端口占用),如下图5509既是。
[root@VM-0-4-centos java]# netstat -nlp | grep :80
  • c、根据java程序查找
[root@VM-0-4-centos java]# ps -ef | grep java

2、根据进程号pid,结束进程

[root@VM-0-4-centos java]# kill 5509

三、开机自动启动

新建启动jar包的sh文件

例如启动jar文件名为 startup.sh:

nohup java -jar xxx.jar >log.log 2>&1 &
 
#用你的项目名称代替上述的XXX
#此sh文件,命名为startup.sh

设置自启动命令

1、在你的linux中执行命令: cd /etc/rc.d 进入rc.d目录

2、修改rc.local

执行命令:vi rc.local

然后按下键盘上的【i】键进入修改模式

接着在代码尾部添加代码:

cd /myApp/test
sh /myApp/test/startup.sh
 
 
#第一句为进入你项目所在的目录,我这里把项目放在/myApp/test下
#第二句执行该目录下的sh文件
 
 
##说明
如果不提前进入所在目录,直接执行第二句,也会开机自启动,但是日志文件会在根目录下的log文件中。只有先进入,再执行,项目的日志文件才会在test文件夹下
 
##test文件中有jar包、startup.sh、以及jar包的日志文件logs

然后先按下【esc】键,再按下【:】键,在光标闪烁处输入:wq。按回车,完成修改

3、设置执行权限。

输入命令:

chmod +x /etc/rc.d/rc.local 
chmod +x /myApp/test/startup.sh

4、在linux中输入命令 :reboot 。重启服务器

5、重启后,输入:ps -ef | grep jar  查看jar包是否启动

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • linux系统离线安装nginx全过程

    linux系统离线安装nginx全过程

    这篇文章主要介绍了linux系统离线安装nginx全过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-07-07
  • CentOS 6下root密码忘记的解决办法

    CentOS 6下root密码忘记的解决办法

    这篇文章主要为大家详细介绍了Centos6下root密码忘记的解决办法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-08-08
  • Linux检测远程服务器端口的几种方法

    Linux检测远程服务器端口的几种方法

    作为系统管理员、网络工程师或应用程序开发人员,需要检查远程服务器上的端口是否打开,以便您可以判断所检查的服务是否正在运行,所以本文给大家介绍了Linux检测远程服务器端口的几种方法,需要的朋友可以参考下
    2024-06-06
  • 详解Linux动态库生成与使用指南

    详解Linux动态库生成与使用指南

    这篇文章主要介绍了详解Linux动态库生成与使用指南,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-07-07
  • Centos8下django项目部署 nginx+uwsgi的教程

    Centos8下django项目部署 nginx+uwsgi的教程

    这篇文章主要介绍了Centos8下django项目部署 nginx+uwsgi的教程,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-05-05
  • apache2服务器的搭建和配置步骤详解

    apache2服务器的搭建和配置步骤详解

    其实搭建apache2并不难,只是网上的资料有很多都过时了,之前被误导过好几次,走了很多弯路。趁着这次在本地搭建网站的时机重新捋一下思路,也方便以后有需求的时候查阅,需要的朋友可以参考下。
    2017-04-04
  • linux命令实现音频格式转换和拼接的方法

    linux命令实现音频格式转换和拼接的方法

    今天小编就为大家分享一篇linux命令实现音频格式转换和拼接的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-08-08
  • Linux nl命令的使用方法

    Linux nl命令的使用方法

    这篇文章主要介绍了Linux nl命令的使用方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-02-02
  • linux安装图形化界面的操作方法

    linux安装图形化界面的操作方法

    这篇文章主要介绍了linux安装图形化界面的操作方法,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-11-11
  • 基于Ubuntu 16.04设置固定IP的方法教程

    基于Ubuntu 16.04设置固定IP的方法教程

    这篇文章主要给大家介绍了基于Ubuntu 16.04设置固定IP的方法教程,文中通过图文以及示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考借鉴,下面随着小编来一起学习学习吧。
    2017-10-10

最新评论