Linux利用Shell脚本部署jar包项目的完整步骤

一.安装JDK

  查看电脑的操作位数:  uname -ar

2017 x86_64 x86_64 x86_64 GNU/Linux
如果这里显示是64位的就下载相应64位的包

jdk的下载地址,推荐下载tar.gz的包

下面开始正式的安装jdk

1、上传jdk的安装包到 /root

  jdk-8u131-linux-x64.tar.gz

2、确认系统是否已经安装过jdk

  rpm -qa|grep jdk

  rpm -e --nodeps 软件名称 //如果检查到有安装就执行卸载命令

3、解压缩jdk的安装包到指定目录

  tar -xvf jdk-8u131-linux-x64.tar.gz -C /usr/local/

4、进入解压缩目录

  cd /usr/local

5、修改jdk的文件夹名称

  mv jdk1.8.0_131 jdk

6、配置环境变量

修改环境变量配置文件:

  vi /etc/profile

点 i键进入编辑模式

跳转到最后一行,增加如下内容,注意这里的jdk请和你当初安装jdk的路径保持一致

  #java runtime seting  export JAVA_HOME=/usr/local/jdk  export CLASSPATH=$JAVA_HOME/lib:.  export PATH=$JAVA_HOME/bin:$PATH

按ESC 输入:wq  保存退出

7、重新加载环境配置

  source /etc/profile

8、测试JDK安装是否ok

  java -version

9、编写hello.java

vi Hello.java

  class Hello{  	public static void main(String[] args){  	System.out.println("hello,java");  	}  }

然后ESC :wq退出

vi /etc/profile i编写

  javac Hello.java

二.部署jar包

1.创建data,然后在建立test目录,按照如下的结构建立相关的文件夹以及文件

目录的结构为:

Linux利用Shell脚本部署jar包项目的完整步骤 Linux 第1张

app下面放置主要的jar包,如myjar,下面是相关的restart.sh的内容:

  #!/bin/bash    base_home='/data/test'  app_name='myjar'    pid=`ps -ef|grep ${app_name}|grep -v grep|grep -v restart|awk '{print$2}'`  if [ -n "${pid}" ] ;then   kill -9 ${pid}   sleep 10  fi    gclog_file=$base_home/log/gc.log  dump_dir=$base_home/heapdump  errorlogs_dir=$base_home/log    java -Xmx1g -Xms1g -XX:+UseParallelGC -XX:+UseParallelOldGC -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+UseGCLogFileRotation -XX:GCLogFileSize=128M -XX:NumberOfGCLogFiles=1 -Xloggc:${gclog_file} -XX:HeapDumpPath=${dump_dir} -jar $base_home/app/${app_name}.jar --spring.config.location=$base_home/config/application.yml >> $base_home/log/${app_name}_$(date +'%Y%m%d').log &

这里需要注意的是Linux利用Shell脚本部署jar包项目的完整步骤 Linux 第2张{app_name}.jar这个可能会包如下的错误:

  Error: Unable to access jarfile /app/myjar.jar

这里可能需要更改为绝对路径,如下:

  /datat/test/app/${app_name}.jar

访问相关的路径:(这里根据你的jar的相关端口来修改

http://ip:8080/

查看日志的路径:

cd /log
这里下面会显示相关的jar包的名称和日期的log文件 如:myjar_20190530.log

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对脚本之家的支持。

参与评论