首页 > 系统相关 >Linux部署系统

Linux部署系统

时间:2023-04-16 21:14:34浏览次数:48  
标签:java 部署 jar 系统 echo -- sh result Linux

Linux安装Java环境

1、在usr目录下建立java安装目录

mkdir /usr/java

2、将jdk-11.0.18_linux-x64_bin.tar.gz拷贝到java目录下

jdk11下载地址:https://www.oracle.com/java/technologies/downloads/#java11

3、解压jdk到当前目录

tar -zxvf jdk-11.0.18_linux-x64_bin.tar.gz 

4、安装完毕为他建立一个链接以节省目录长度

ln -s /usr/java/jdk-11.0.18 /usr/jdk11

5、编辑配置文件,配置环境变量

vi /etc/profile

6、在文本的末尾添加如下内容:

export JAVA_HOME=/usr/jdk11
export CLASSPATH=$JAVA_HOME/lib/
export PATH=$PATH:$JAVA_HOME/bin

7、执行命令刷新 :

source /etc/profile

8、查看是否安装成功

java -version

打包发布

1、在idea的maven中先clean,禁用test选项,后package打包,则可以在target目录中得到jar包文件;

image-20230321110028941

2、将生成的jar包文件拷入/home/filename/中,app.sh脚本拷进filename中

3、sh app.sh start 运行app.sh文件则可以启动系统,watch.out为启动日志。

4、执行sh文件出错,将windows格式转换为unix格式。

yum install dos2unix
dos2unix app.sh

5、查看实时日志

tail -f watch.out

6、开放端口号并刷新

4、开放指定端口
firewall-cmd --zone=public --add-port=10090/tcp --permanent

5、重启防火墙
firewall-cmd --reload

app.sh脚本

#!/bin/sh

echo "======================================="
echo "Shell: $0"

# 获得本地路径
CURR_FOLDER=`pwd`
echo "Application folder: ${CURR_FOLDER}"
cd ${CURR_FOLDER}

# 获得jar文件的名字
JAR_NAME=`ls -l ${CURR_FOLDER} | grep .jar | grep -v grep | awk '{print $9}'`
echo "Application jar file: ${JAR_NAME}"

echo "======================================="

OUT_FILE="watch.out"

# 函数部分
hasrun(){
  pid=`ps --no-heading -ef | grep ${JAR_NAME} | grep -v grep | awk '{print $2}'`
  # -n 判断字符串长度不为0 -z 判断字符串长度为0
  if [ -z ${pid} ]; then    
    echo 0
  else    
    echo ${pid}
  fi
}

start(){
    # 是否已运行    
    result=$(hasrun)
    
    if [ $result -ne "0" ]; then
      echo "Application has already started, the pid is $result"
      exit 1   
    else
      # 启动程序
      echo "Starting application ... " 
      nohup java -jar ${JAR_NAME} > ${OUT_FILE} 2>&1 &      
      echo "Application has started, the pid is $! you can check file in ${OUT_FILE} for deatils."     
    fi
}

stop(){
    # 是否已运行
    result=$(hasrun)
    
    if [ $result -eq "0" ]; then
      # 程序没有运行
      echo "Application is not running ..."
      exit 1      
    else    
      # 程序在运行中
      echo "Stopping application ..."    
      kill ${result}
      
      # 用循环的方式检测程序是否关闭
      count=0
      while [ $count -lt 1 ]; do
        sleep 1s
        count=0
        exist=`ps --no-heading -p ${result}`
        if [ -z ${exist} ] ; then          
          count=1
          echo "Applicatoin has stoped." 
        fi
      done
      
      
    fi    
}

restart(){
  stop
  start  
}


case $1 in
"start")
  start
  ;;
"stop")
  stop
  ;;
"restart")
  restart
  ;;
*)
  echo "there is no command"
  exit 1;
  ;;
esac

标签:java,部署,jar,系统,echo,--,sh,result,Linux
From: https://www.cnblogs.com/coolsheep/p/17324064.html

相关文章

  • 关于敏捷开发、系统重构、设计原则、设计模式之间的思考
    敏捷开发、系统重构、设计模式是软件开发中不同的概念,它们之间有一些联系和相互影响。敏捷开发方法强调快速响应客户需求,通过迭代和增量的方式来开发软件。在敏捷开发中,设计模式可以被用来提高软件质量和可维护性,因为设计模式是已经被证明有效的软件设计方案。在开发过程中,团队可......
  • 半导体企业ERP系统是什么?能为半导体企业实际解决哪些问题?
    一、什么是半导体企业ERP系统?1、半导体企业ERP系统是一种企业资源规划(ERP)系统,它是专门为半导体企业开发的,可以帮助企业在生产管理中实现集成化、自动化和数据化。2、该系统可以涵盖企业的各个方面,包括销售、采购、库存、生产计划、生产执行、品质管理等。3、通过半导体......
  • 【Ubuntu】查看系统信息
    1、使用lsb_release-a~#lsb_release-aNoLSBmodulesareavailable.DistributorID:UbuntuDescription:Ubuntu20.04.3LTSRelease:20.04Codename:focal 2、使用cat/etc/lsb-release~#cat/etc/lsb-releaseDISTRIB_ID=UbuntuDISTRIB_REL......
  • T430装centos7系统
    1.UltraISO制作U盘1.下载centos镜像:http://mirrors.ustc.edu.cn/centos/7.9.2009/isos/x86_64/2.下载UltraISO;官网免费且可以试用即可3.写入U盘系统;①打开UltraISO左上角文件,选择centos7的镜像;②然后启动-写入硬盘映像(注意镜像路径,和选择的U盘路径);可能需要格式......
  • Linux驱动入门-最简单字符设备驱动(基于pc ubuntu)
    原文:https://blog.csdn.net/XiaoXiaoPengBo/article/details/128505550一.字符设备驱动概念字符设备是Linux驱动中最基本的一类设备驱动,字符设备就是一个一个字节,按照字节流进行读写操作的设备,读写数据是分先后顺序的。比如我们最常见的点灯、按键、IIC、SPI,LCD等等都是字符......
  • FFmpeg开发笔记(一)搭建Linux系统的开发环境
    对于初学者来说,如何搭建FFmpeg的开发环境是个不小的拦路虎,因为FFmpeg用到了许多第三方开发包,所以要先编译这些第三方源码,之后才能给FFmpeg集成编译好的第三方库。不过考虑到刚开始仅仅调用FFmpeg的API,不会马上去改FFmpeg的源码,因此只要给系统安装编译好的FFmpeg动态库,即可着手编写......
  • 宝塔部署nuxt3
    首先本地执行打包npmrunbuild然后把目录中的四个文件压缩成zip在宝塔文件处添加一个网站的文件目录,并把文件解压到里面点击左侧的网站,然后选择node项目,选择node版本安装安装完后,点击新建项目,选择你放项目的文件夹,启动项要自定义node.output/server/index......
  • 宝塔部署koa项目
    点击左侧文件,在/www/wwwroot/创建项目文件夹,并上传项目文件再点击左侧网站,选择node项目,然后选择添加node项目配置如下 创建完成,点击右侧设置,绑定域名,并开启外网映射......
  • golang语言下,在x86的linux平台上编译arm64二进制
    转载自:https://www.annhe.net/article-4542.html================== 编译etcd测试工具benchmark:CGO_ENABLED=0GOOS=linuxGOARCH=arm64gobuild.  概述有很多开源软件并没有提供arm安装包或者二进制,或者能通过包管理工具安装但是版本比较旧(比如Pandoc)。如果想......
  • 操作系统试验-进程间通信:借鉴生产者-消费者示例程序,利用FIFO或消息队列实现操作系统中
    实验名称操作系统试验-进程间通信实验目的借鉴生产者-消费者示例程序,利用FIFO或消息队列实现操作系统中的经典生产者-消费者问题,要求:1、仓库有26个存储单元;2、具有两个以上的生产者与消费者;3、生产者和消费者以随机的方式对仓库进行访问;4、在任意时刻,仓库里面只有一个进程;5、仓库满......