在Linux配置自启动jar包方式

2024-03-01 0 709
目录
  • 一、运行jar包
  • 二、终止程序
  • 三、开机自动启动
    • 新建启动jar包的sh文件
    • 设置自启动命令
  • 总结

    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既是。

    在Linux配置自启动jar包方式

    • 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包是否启动

    总结

    以上为个人经验,希望能给大家一个参考,也希望大家多多支持悠久资源网。

    收藏 (0) 打赏

    感谢您的支持,我会继续努力的!

    打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
    点赞 (0)

    悠久资源 Linux服务器 在Linux配置自启动jar包方式 https://www.u-9.cn/server/linux/174730.html

    常见问题

    相关文章

    发表评论
    暂无评论
    官方客服团队

    为您解决烦忧 - 24小时在线 专业服务