linuxヌードマシンにspringBootプロジェクトを配備する

9975 ワード

一、プロジェクトの作成とパッケージング
プロジェクトを作成しjarパッケージを打つ
二、JDKのインストール
1、/usrディレクトリの下のベッドフレームjavaフォルダで、
2、jdk 8をダウンロードし、linuxサーバー(/usr/java)をアップロードする
ダウンロード先:https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html
3、解凍
sudo vim /etc/profile

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