centos下快速部署java-react項目

服務(wù)器基本安裝命令

centos 安裝node 12.0

curl --silent --location https://rpm.nodesource.com/setup_12.x | bash -
yum install -y nodejs
node -v



# 自己編譯安裝node 12.16.1
mkdir download
cd download
wget http://nodejs.org/dist/v12.16.1/node-v12.16.1-linux-x64.tar.gz
tar -zxvf node-v12.16.1-linux-x64.tar.gz 
mv node-v12.16.1-linux-x64 nodejs
cd nodejs/bin   //  切換路徑
./node -v 

vim ~/.bash_profile
PATH=$PATH:$HOME/bin:/root/download/nodejs/bin    
source ~/.bash_profile

基本服務(wù)器搭建

# jdk 11 
yum install java-11-openjdk-devel.x86_64

# 寶塔
yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh

# nginx
登錄寶塔户誓,進(jìn)行nginx安裝即可

# node 12 
curl --silent --location https://rpm.nodesource.com/setup_12.x | bash -
yum install -y nodejs
node -v

# git
yum install git

# maven  需要自己導(dǎo)包安裝,yum安裝版本低
wget http://mirrors.hust.edu.cn/apache/maven/maven-3/3.6.3/binaries/apache-maven-3.6.3-bin.tar.gz
tar zxf apache-maven-3.6.3-bin.tar.gz 
mv apache-maven-3.6.3 /usr/local/maven3
vim /etc/profile
export M2_HOME=/usr/local/maven3
export PATH=$PATH:$JAVA_HOME/bin:$M2_HOME/bin
wq
source /etc/profile
mvn -v
# 更換阿里源鸠真,加快下載速度
cd /usr/local/maven3/conf
vim settings.xml
<mirror>
     <id>alimaven</id>
     <name>aliyun maven</name>
     <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
     <mirrorOf>central</mirrorOf>
</mirror>

rabbmitMQ


# 安裝MQ(erlang與rabbitmq 的版本必須對應(yīng))
rpm -ivh erlang-22.3-1.el7.x86_64.rpm
yum install -y rabbitmq-server-3.8.3-1.el7.noarch.rpm
systemctl start rabbitmq-server    #啟動
systemctl status rabbitmq-server   #狀態(tài)
systemctl stop rabbitmq-server     #停止
rabbitmq-plugins enable rabbitmq_management #啟用插件

# 修改looker 為空掷豺,讓所有人可以登錄
/usr/lib/rabbitmq/lib/rabbitmq_server-3.8.3/ebin   rabbmit.app  
 修改為  {loopback_users, []},
# 或者命令行添加用戶
rabbitmqctl add_user admin admin
rabbitmqctl set_user_tags admin administrator
rabbitmqctl set_permissions -p "/" admin ".*" ".*" ".*" 
# 安裝延時插件
cd /usr/lib/rabbitmq/lib/rabbitmq_server-3.8.3/plugins
scp -r /root/download/rabbitmq_delayed_message_exchange-3.8.0.ez .
# 啟動插件
cd /usr/lib/rabbitmq/lib/rabbitmq_server-3.8.3/sbin
rabbitmq-plugins enable rabbitmq_management  # 管理頁面
rabbitmq-plugins enable rabbitmq_delayed_message_exchange # 延時隊列
rabbitmq-plugins enable rabbitmq_stomp # stomp協(xié)議
# 重啟mq
systemctl restart rabbitmq-server
# 打開圖形頁面,創(chuàng)建新用戶
http://47.114.38.114:15672
# 添加 admin用戶,設(shè)置復(fù)雜密碼
# 刪除guest用戶



# 顯示所有的插件赎瑰,每一行一個
rabbitmq-plugins list
# 顯示所有的插件王悍,并且顯示插件的版本號和描述信息
rabbitmq-plugins list -v
# 顯示所有名稱含有 "management" 的插件
rabbitmq-plugins list -v management
# 顯示所有顯示或者隱式啟動的插件
rabbitmq-plugins list -e rabbit

rabbitmq-plugins enable [--offline] [--online] {plugin ...}
# --offline 僅僅修改啟動的插件文件
# --online 將與正在運行的代理連接失敗視為致命錯誤
# plugin 一個或者多個待啟用的插件
# 該命令將啟用指定的插件和他們所有依賴的插件

rabbitmq-plugins disable [--offline] [--online] {plugin ...}
# --offline 僅僅修改啟動的插件文件
# --online 將與正在運行的代理連接失敗視為致命錯誤
# plugin 一個或者多個待禁用的插件
# 該命令將禁用指定的插件和他們所依賴的插件

rabbitmq-plugin set [--offline] [--online] {plugin ...}
# --offline 僅僅修改啟用的插件文件
# --online 將與正在運行的代理連接失敗視為致命錯誤
# plugin 零個或者多個待啟用的插件
# 該命令將啟用待指定的插件和他們所依賴的插件。和 rabbitmq-plugins enable 不同餐曼,該命令忽略了和覆蓋了所有已存在的啟用的插件压储。
# rabbitmq-plugins set 沒有任何插件參數(shù)時,是合法的源譬,表示禁用所有的插件
# rabbitmq-plugins set rabbitmq_management
# 上述命令集惋,表示啟用management插件,并且禁用其他所有插件

快速部署腳本

java

#!/bin/bash
# jar包路勁
jarpath="/root/runtime"
# 日志名
logname="XXXX"
# 項目路徑
pgpath="xxxxx"
# git地址
gitpath="http://xx.xx.xx.xx:3000/xxx/$pgpath.git"
# 日志文件目錄
logpath="/root/logs/$logname"
# jar包備份目錄
jarbakpath="/root/jarbak/$pgpath"
# jar包名字
jarname="$pgpath-1.0.jar"

read -p "確定重啟( $pgpath )嘛?" flag  if [[ "$flag" != "y" ]];  then  echo "取消"  exit  fi
# 判斷踩娘,如果當(dāng)前項目目錄下芋膘,無對應(yīng)的項目,從git地址霸饲,拉取代碼到linux本地服務(wù)器
if [ ! -d "/root/$pgpath" ];then  cd ~  git clone $gitpath  read -p "請輸入要使用的分支: " branch  git checkout $branch  fi

if [ ! -d "$jarpath" ];then  mkdir -p $jarpath  fi

if [ ! -d "$logpath" ];then  mkdir -p $logpath  fi

if [ ! -d "$jarbakpath" ];then  mkdir -p $jarbakpath  fi

echo ================================= echo $logname備份自動化部署腳本啟動 echo =================================

echo 進(jìn)入~/$pgpath cd ~/$pgpath

echo 開始pull版本 git pull origin master

echo 開始編譯文件  mvn clean package -Dmaven.test.skip=true

echo 進(jìn)入編譯完成文件 cd ~/$pgpath/target

echo 結(jié)束以往進(jìn)程  ps -ef | grep $jarname | grep -v grep | awk '{print $2}' | xargs kill -9

#echo 復(fù)制日志文件內(nèi)容到新的文件中  #cp $logpath/$logname.log $logpath/$logname_`date +%Y%m%d%H%M%S`.log

echo 備份文件  cp $jarpath/$jarname $jarbakpath/$jarname.`date +%Y%m%d%H%M%S`

echo 刪除以往文件 rm -rf $jarpath/$jarname

echo 移動文件  mv $jarname $jarpath/

#echo 清空日志  #echo /dev/null > $logpath/$logname.log

echo 重啟服務(wù)器  nohup java -jar $JAVA_OPTS_PAY $jarpath/$jarname --spring.profiles.active=prod >>$logpath/$logname.log 2>&1 &

tail -100f $logpath/$logname.log

java版本回退

#!/bin/bash 

jarpath="/root/runtime"

logname="xxx"

pgpath="xxx"

logpath="/root/logs/$logname"

jarbakpath="/root/jarbak/$pgpath"

jarname="$pgpath-1.0.jar"

ls -l $jarbakpath

read -p "請輸入要回滾的 ($pgpath)  jar包的后綴:" version

echo "要回滾到的版本為:" $version

read -p "確定回滾( $pgpath )嘛?" flag
if [[ "$flag" != "y" ]];
  then
   echo "取消"
   exit
fi

if [ ! -d "$jarpath" ];then
        mkdir -p $jarpath
fi

if [ ! -d "$logpath" ];then
        mkdir -p $logpath
fi

if [ ! -d "$jarbakpath" ];then
        mkdir -p $jarbakpath
fi

echo ================================= 
echo $logname自動化回滾腳本啟動 
echo ================================= 

#echo 復(fù)制日志文件內(nèi)容到新的文件中
#cp $logpath/$logname.log $logpath/$logname\_`date +%Y%m%d%H%M%S `.log

#echo 清空日志
#echo /dev/null > $logpath/$logname.log

echo 移動需要回滾的jar包到運行目錄下
cp -f $jarbakpath/$jarname.$version $jarpath/$jarname

echo 結(jié)束以往進(jìn)程
ps -ef | grep $jarname | grep -v grep | awk '{print $2}' | xargs kill -9

echo 重啟服務(wù)器
nohup java -jar $JAVA_OPTS_PAY $jarpath/$jarname --spring.profiles.active=prod  >>$logpath/$logname.log 2>&1 &

tail -100f $logpath/$logname.log

前端

#!/bin/bash

hostname="xxxxx"

webpath="/www/wwwroot/$hostname"

pgpath="xxxxxx"

gitpath="http://xx.xx.xx.xx:3000/xxxx/$pgpath.git"

echo ================================= echo Web自動化部署腳本啟動 echo =================================

if [ ! -d "/root/$pgpath" ];then  cd ~  git clone $gitpath  fi

if [ ! -d "$webpath" ];then  mkdir -p $webpath  fi

echo 進(jìn)入~/$pgpath cd ~/$pgpath 
echo 強制更新線上最新  
git fetch --all  git reset --hard origin/master  
#echo 替換url.js  
cp -f ~/url.js ~/$pgpath/src/pages/url.js 
 echo 開始編譯文件  npm run build

echo 刪除以往文件 rm -rf $webpath/assets 
 rm -rf $webpath/css
  rm -rf $webpath/js  
rm -rf $webpath/index.html  
rm -rf $webpath/favicon.png

echo 移動文件  mv build/* $webpath/ echo 部署完成
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末为朋,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子厚脉,更是在濱河造成了極大的恐慌习寸,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,372評論 6 498
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件傻工,死亡現(xiàn)場離奇詭異霞溪,居然都是意外死亡孵滞,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,368評論 3 392
  • 文/潘曉璐 我一進(jìn)店門鸯匹,熙熙樓的掌柜王于貴愁眉苦臉地迎上來坊饶,“玉大人,你說我怎么就攤上這事殴蓬∧浼叮” “怎么了?”我有些...
    開封第一講書人閱讀 162,415評論 0 353
  • 文/不壞的土叔 我叫張陵染厅,是天一觀的道長痘绎。 經(jīng)常有香客問我,道長肖粮,這世上最難降的妖魔是什么孤页? 我笑而不...
    開封第一講書人閱讀 58,157評論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮涩馆,結(jié)果婚禮上行施,老公的妹妹穿的比我還像新娘。我一直安慰自己魂那,他們只是感情好悲龟,可當(dāng)我...
    茶點故事閱讀 67,171評論 6 388
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著冰寻,像睡著了一般。 火紅的嫁衣襯著肌膚如雪皿渗。 梳的紋絲不亂的頭發(fā)上斩芭,一...
    開封第一講書人閱讀 51,125評論 1 297
  • 那天,我揣著相機與錄音乐疆,去河邊找鬼划乖。 笑死,一個胖子當(dāng)著我的面吹牛挤土,可吹牛的內(nèi)容都是我干的琴庵。 我是一名探鬼主播,決...
    沈念sama閱讀 40,028評論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼仰美,長吁一口氣:“原來是場噩夢啊……” “哼迷殿!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起咖杂,我...
    開封第一講書人閱讀 38,887評論 0 274
  • 序言:老撾萬榮一對情侶失蹤庆寺,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后诉字,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體懦尝,經(jīng)...
    沈念sama閱讀 45,310評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡知纷,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,533評論 2 332
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了陵霉。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片琅轧。...
    茶點故事閱讀 39,690評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖踊挠,靈堂內(nèi)的尸體忽然破棺而出乍桂,到底是詐尸還是另有隱情,我是刑警寧澤止毕,帶...
    沈念sama閱讀 35,411評論 5 343
  • 正文 年R本政府宣布模蜡,位于F島的核電站,受9級特大地震影響扁凛,放射性物質(zhì)發(fā)生泄漏忍疾。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,004評論 3 325
  • 文/蒙蒙 一谨朝、第九天 我趴在偏房一處隱蔽的房頂上張望卤妒。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,659評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至暇矫,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背阱洪。 一陣腳步聲響...
    開封第一講書人閱讀 32,812評論 1 268
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留菠镇,地道東北人冗荸。 一個月前我還...
    沈念sama閱讀 47,693評論 2 368
  • 正文 我出身青樓,卻偏偏與公主長得像利耍,于是被迫代替她去往敵國和親蚌本。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,577評論 2 353

推薦閱讀更多精彩內(nèi)容