在linux裸机部署springBoot项目

一、项目创建及打包

  创建项目,打jar包

二、安装JDK

  1、在/usr目录下床架java文件夹,将

  2、下载jdk8,并上传linux服务器(/usr/java)

    下载地址:https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html

  3、解压

sudo tar -zxvf jdk-8u251-linux-x64.tar.gz

  4、配置环境变量

sudo vi /etc/profile

  添加如下变量信息

export JAVA_HOME=/usr/java/jdk1.8.0_251
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:{JAVA_HOME}/lib:${JRE_HOME}/lib:$CLASSPATH
export JAVA_PATH=${JAVA_HOME}/bin:${JRE_HOME}/bin
export PATH=$PATH:${JAVA_PATH}

  5、重新加载配置文件

source /etc/profile

  6、查看安装情况

java -version

  看到如下输出,即为成功:

java version "1.8.0_251"
Java(TM) SE Runtime Environment (build 1.8.0_251-b08)
Java HotSpot(TM) 64-Bit Server VM (build 25.251-b08, mixed mode)

三、安装Maven

  1、下载Maven:http://maven.apache.org/download.cgi

  2、在/usr文件夹下创建maven文件夹,并将下载的maven文件放在该文件夹内

sudo mkdir /usr/maven
sudo mv apache-maven-3.6.3-bin.tar.gz /usr/maven/

  3、解压

sudo tar -zxvf apache-maven-3.6.3-bin.tar.gz

  4、设置环境变量

sudo vi /etc/profile

  设置如下环境变量

export MAVEN_HOME=/usr/maven/apache-maven-3.6.3
export PATH=$MAVEN_HOME/bin:$PATH

  5、刷新配置文件

source /etc/profile

  6、验证安装

mvn -v

  出现以下输出,即为安装成功

Apache Maven 3.6.3 (cecedd343002696d0abb50b32b541b8a6ba2883f)
Maven home: /usr/maven/apache-maven-3.6.3
Java version: 1.8.0_251, vendor: Oracle Corporation, runtime: /usr/java/jdk1.8.0_251/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "3.10.0-693.el7.x86_64", arch: "amd64", family: "unix"

  7、修改maven配置

vi /usr/maven/apache-maven-3.6.3/conf/settings.xml

  可以添加maven仓库及用户名密码等内容

四、项目运行

nohup java -jar /usr/project/ins-group-buying-channel-jsf-service-1.0.0-SNAPSHOT.jar

五、修改host

如果是测试环境,需要配置相关host

sudo vi /etc/host

然后添加相应的host配置即可

六、添加shell脚本

#!/bin/bash
#这里可替换为你自己的执行程序,其他代码无需更改
APP_NAME=/usr/project/jar/ins-group-buying-channel-jsf-service-1.0.0-SNAPSHOT.jar
LOG_PATH=/usr/project/log

#使用说明,用来提示输入参数
usage() {
    echo "Usage: sh 脚本名.sh [startTest|startPrePreod|startProduction|stop|restart|status]"
    exit 1
}

#检查程序是否在运行
is_exist(){
  pid=`ps -ef|grep $APP_NAME|grep -v grep|awk '{print $2}' `
  #如果不存在返回1,存在返回0
  if [ -z "${pid}" ]; then
   return 1
  else
    return 0
  fi
}

#测试环境启动方法
startTest(){
  profile="test"
  start $profile
}


#预发环境启动方法
startPreProd(){
  profile="pre-prod"
  start $profile
}


#生产环境启动方法
startProduction(){
  profile="production"
  start $profile
}


#启动方法
start(){
  is_exist
  if [ $? -eq "0" ]; then
    echo "${APP_NAME} is already running. pid=${pid} ."
  else
    nohup java -jar $APP_NAME --spring.profiles.active=$1 & # > $LOG-PATH/log.file 2>&1 &
    echo "${APP_NAME} start success"
  fi
}


#停止方法
stop(){
  is_exist
  if [ $? -eq "0" ]; then
    kill -9 $pid
  else
    echo "${APP_NAME} is not running"
  fi
}

#输出运行状态
status(){
  is_exist
  if [ $? -eq "0" ]; then
    echo "${APP_NAME} is running. Pid is ${pid}"
  else
    echo "${APP_NAME} is NOT running."
  fi
}

#重启
restart(){
  stop
  start
}

#根据输入参数,选择执行对应方法,不输入则执行使用说明
case "$1" in
  "starttest")
    startTest
    ;;
  "startpre")
    startPreProd
    ;;
  "startprod")
    startProduction
    ;;
  "stop")
    stop
    ;;
  "status")
    status
    ;;
  "restart")
    restart
    ;;
  *)
    usage
    ;;
esac

 

posted @ 2020-06-23 17:37  李聪龙  阅读(438)  评论(0编辑  收藏  举报