當前位置:網站首頁>項目部署(簡版)
項目部署(簡版)
2022-07-23 11:03:48【青樖】
前端項目的部署,及後端項目的部署
前端部署服務器: Nginx
後端部署服務器: Tomcat(內嵌)
在服務器A(192.168.*.*)中安裝Nginx,將前端打包的文件上傳到Nginx的html目錄下
修改Nginx配置文件nginx.conf
將nginx.conf配置文件中,將原有的監聽80, 82, 8080端口號 的虛擬主機注釋掉,引入如下的配置信息:
server {
listen 80;
server_name localhost;
location / {
root 自己的頁面;
index 頁面名稱.html;
}
location ^~ /api/ {
rewrite ^/api/(.*)$ /$1 break;
proxy_pass http://192.168.*.*:8080;
}
location = /50x.html {
root html;
}
}通過nginx訪問前端工程
192.168.*.*
反向代理配置
前端工程部署完成之後,我們可以正常的訪問到系統的登錄頁面,點擊登錄按鈕,可以看到服務端發起的請求
/api這個前綴在不修改服務端代碼的情况下通過nginx的就可以輕松解决這個問題
這一段配置代錶,如果請求當前nginx,並且請求的路徑如果是 /api/ 開頭,將會被該location處理。而在該location中,主要配置了兩塊兒信息: rewrite(url重寫) 和 proxy_pass(反向代理)。 接下來我們就來解析一下這兩項的配置。
rewrite ^/api/(.*)$ /$1 break;這裏寫的是一個正則錶達式,代錶如果請求路徑是以 /api/ 開頭,後面的請求路徑任意,此時將原始的url路徑重寫為 /$1,這裏的$1指代的就是通配符 .* 這一塊的內容。比如:
/api/employee/login ------> ^/api/(.*)$ -------->
此時 (.*) 匹配的就是 employee/login ------>
最終重寫為/$1 : /employee/login反向代理
proxy_pass http://192.168.138.101:8080;在服務器B(192.168.*.*1)中安裝jdk、git、maven、MySQL,使用git clone命令將git遠程倉庫的代碼克隆下來
確認jdk: java -version
確認git:git -version
確認maven:mvn -v
將我們開發完成的代碼推送至遠程倉庫,並在服務器B中克隆下來
#創建java代碼存放目錄
mkdir -p /usr/local/javaapp
#切換目錄
cd /usr/local/javaapp
#克隆代碼 , 需要使用自己的遠程倉庫
git clone https://gitee.com/**/***.git 我們可以通過 ps -ef|grep java 指令,查看服務是否啟動。
執行脚本
#!/bin/sh
echo =================================
echo 自動化部署脚本啟動
echo =================================
echo 停止原來運行中的工程
APP_NAME=**********
tpid=`ps -ef|grep $APP_NAME|grep -v grep|grep -v kill|awk '{print $2}'`
if [ ${tpid} ]; then
echo 'Stop Process...'
kill -15 $tpid
fi
sleep 2
tpid=`ps -ef|grep $APP_NAME|grep -v grep|grep -v kill|awk '{print $2}'`
if [ ${tpid} ]; then
echo 'Kill Process!'
kill -9 $tpid
else
echo 'Stop Success!'
fi
echo 准備從Git倉庫拉取最新代碼
cd /usr/local/javaapp/*****
echo 開始從Git倉庫拉取最新代碼
git pull
echo 代碼拉取完成
echo 開始打包
output=`mvn clean package -Dmaven.test.skip=true`
cd target
echo 啟動項目
nohup java -jar *********.jar &> *****.log &
echo 項目啟動完成
圖片展示問題處理
將文件存儲目錄修改:path: /usr/local/img/
將本地的測試圖片文件夾img(整個文件夾)上傳到服務器B的/usr/local目錄下
然後就訪問主庫地址出來就成功了
版權聲明
本文為[青樖]所創,轉載請帶上原文鏈接,感謝
https://cht.chowdera.com/2022/204/202207230537007900.html
邊欄推薦
猜你喜歡
隨機推薦
- 【STM32學習】(21)STM32實現步進電機
- 繪制帶有查詢條件變量的table【grafana】
- 認識接口
- LABVIEW:創建一個VI
- 界面開發框架DevExtreme Gantt控件——可導出PDF、排序任務
- MySQL命令行導出導入數據庫和數據錶
- 有數大數據基礎平臺之智能運維平臺EasyEagle介紹:集群隊列篇
- 你記住JS中offsetWidth、clientWidth、width、scrollWidth、clientX、screenX、offsetX、pageX嗎?
- 【Azure 事件中心】Azure Event Hub 新功能嘗試 -- 异地灾難恢複 (Geo-Disaster Recovery)
- unity 照片牆
- 影響持續交付的因素有哪些?
- 【快速上手教程7】瘋殼·開源編隊無人機-地面站上比特機的使用和介紹
- Redis配置詳解
- docker安裝MySQL、redis
- 【嵌入式】限幅電路和鉗比特電路 利用二極管的單向導電性
- [知識圖譜]cql與py2neo學習筆記
- C語言學習
- 列轉行與數據集連接在業務場景的組合應用
- MySQL5.6/ 5.7 SSL配置
- 【深度學習】損失函數(平均絕對誤差,均方誤差,平滑損失,交叉熵,帶權值的交叉熵,骰子損失,FocalLoss)
- *精度優化*優化策略1:網絡+SAM優化器
- AXI協議詳解
- js--Date對象&三元錶達式
- leetcode-買賣股票的最佳時機含手續費
- unity中3dUI或者模型始終面向攝像機,跟隨攝像機視角旋轉丨視角跟隨丨固定視角
- JVM初探
- 移動端測試之appium環境部署【未完待續】
- 關於後臺掛載,進程管理的學習
- 讀《高效閱讀法-最劃算的自我投資》有感
- shell基本命令
- 從鍵盤輸入一串字符,輸出不同的字符以及每個字符出現的次數。(輸出不按照順序)運用String類的常用方法解題
- 2019_AAAI_ICCN
- 影響接口查詢速度的情况
- 《STL適配器》stack和queue
- 淺析緩存的讀寫策略
- 類和對象(1)
- 實驗二 YUV
- 大咖訪談 | 開源社區裏各種奇怪的現狀——夜天之書陳梓立tison
- synchronized是如何實現的
- 【arXiv2022】GroupTransNet: Group Transformer Network for RGB-D Salient Object Detection