美文网首页
2020-01-11Linux下部署jar包

2020-01-11Linux下部署jar包

作者: 睡不醒的邢老吉 | 来源:发表于2020-01-11 11:59 被阅读0次

    Linux下部署jar包主要依赖于Linux的nohup命令。nohup命令可以将程序以忽略挂起信号的方式运行起来,被运行的程序的输出信息将不会显示到终端。

    nohup语法:

    nohup 命令

    用途:不挂断地运行命令。

    语法:nohup Command [ Arg … ][ & ]

    所以只需要在启动命令前加上nohup命令,末尾加上&即可:nohup java -jar XX.jar &。

    为了方便,我们可以编写启动脚本start.sh

    nohup java -jar XX.jar &

    关停脚本stop.sh

    PID=`ps -ef | grep sms-2.0.jar | grep -v grep | awk '{print $2}'`

    if [ -z "$PID" ]

    then

        echo Application is already stopped

    else

        echo kill $PID

        kill -9 $PID

    fi

    重启脚本run.sh

    echo stop application

    source stop.sh

    echo start application

    source start.sh

    在编写shell脚本的过程中遇到了两个问题:

    执行.sh文件提示权限不足:

    解决办法:执行命令chmod u+x XX.sh赋予当前用于可执行的权限即可。

    提示/bin/bash^M: bad interpreter: 没有那个文件或目录。

    问题出现的原因是shell脚本是在windows中编写的然后上传到Linux中的,出现了兼容性问题。解决办法:执行vim XX.sh打开shell文件,然后切换到命令模式,执行:set fileformat=unix后保存退出即可。

    使用了nohup命令后,会在jar文件目录下生成一个nohup.out文件,可通过其观察当前项目的运行情况。

    编写完shell脚本之后,便可执行start.sh,启动项目,执行stop.sh关停项目或者执行run.sh直接重启项目。

    docker部署

    下载安装好 docker后,用命令docker run -d -p 5000:5000 registry 拉取 registry镜像并运行,并执行mvn clean package docker:build命令即可将应用创建到私有个人docker registry中 <dockerHost>http://<HOST yours >:2375</dockerHost>或set DOCKER_HOST=tcp://<HOST yours >:2375。

    war包部署

    如果想以传统的war包方式部署项目可以参考:https://mrbird.cc/Spring-Boot%20war.html

    相关文章

      网友评论

          本文标题:2020-01-11Linux下部署jar包

          本文链接:https://www.haomeiwen.com/subject/evbvactx.html