再看文章之前默認已經安裝好系統,可能是云系統,或者是虛擬機。
寶塔安裝
這個比較簡單,參考這個老哥的即可:
https://blog.csdn.net/weixin_42753193/article/details/125959289
環境配置
進入寶塔面板之后會出現環境安裝,可以默認安裝即可,然后就是安裝JDK、MySQL、Redis、MinIO等,根據自己需求安裝,這些都不是問題,都是無腦安裝。
本地測試環境連接
基本測試步驟:在云服務平臺開放對應端口 => 在寶塔面板開放對應端口 => 本地連接測試
MySQL測試
同在Navicat創建數據庫類似,先創建,再導入自己的 sql 文件;這個密碼不需要記,如果忘記可直接查看,或者直接 root 一個新密碼;
接下來在本地測試連接,配置 系統ip + 3306 端口號,并且把這個用戶名和密碼一同配置,這個很容易測試成功。
Redis
下載之后再面板中的軟件商城中打開,配置ip以及密碼即可,ip為0.0.0.0;之后本地測試的時候填寫服務器ip即可,然后如果設置密碼就配置;這個也很容易搞。
MinIO測試
這個真的是給我搞的暈頭轉向,我沒有通過面板下載,而是通過命令行下載的;
創建文件目錄:
mkdir minio
chmond 777 minio/
# 然后進入minio路徑下
mkdir data
mkdir bin
chmod 777 data/
chmod 777 bin/
touch minio.log
下載minio:
wget https://dl.minio.io/server/minio/release/linux-amd64/minio
啟動minio服務
這里我直接貼一個我實現的方式,稍后講我遇見的問題
# 先進入到bin路徑下
sudo nano start.sh# 文件中填寫
# 自定義用戶名
export MINIO_ROOT_USER=minioadmin
# 自定義密碼
export MINIO_ROOT_PASSWORD=Zhanghy0330
# /www/server/panel/plugin/minio 這個路徑是你剛改創建的minio路徑,替換即可
nohup /www/server/panel/plugin/minio/minio server --console-address :9001 /www/server/panel/plugin/minio/data >/www/server/panel/plugin/minio/minio/minio.log 2>&1 &# 再創建一個stop.sh
sudo nano stop.sh# 文件內容
#!/bin/bashecho "Stopping minio"
pid=`ps -ef | grep 'minio server' | grep -v grep | awk '{print $2}'`
if [ -n "$pid" ]
thenkill -9 $pid
fi
echo "Stop Success!"# 啟動
sudo sh start.sh# 關閉
sudo sh stop.sh
至此,minio服務就算配置完了!但是其中有一些坑,我是踩得一個比一個準!
來細講,minio服務是有兩個端口的:
- 9000 端口:?這是 MinIO 的默認 API 端口,主要用于 S3 協議的對象存儲操作,適合通過命令行工具(如 mc)或編程方式進行訪問。?
- 9001 端口:?這是 MinIO 的 Web 控制臺端口,提供圖形化界面,便于進行用戶管理、權限設置、監控等操作。
那么可以發現我們在啟動服務的時候只配置了 9001 端口,這時候就有一個好處 :
- 當你在瀏覽器中訪問 http://<服務器IP>:9000 時,MinIO 會自動重定向到控制臺端口(如 http://<服務器IP>:9001),以提供圖形化界面。
如果你兩個都配置,就會出現誰干誰的活,互不干擾,也不聯系;這就導致一個嚴重的問題,在 Java 項目中配置 minio 的時候必須使用 9000 端口(API端口),但是這樣配置完之后照片是可以存儲,但是你再通過 URL 訪問圖片資源的時候會發現端口號還是 9000 ,此時問題就出現了 404 顯示不了;問題就在于你訪問的資源應該通過 9001 這個Web控制臺窗口去訪問。
因此為了不必要的麻煩,直接用我配置的方式去配置即可,這個配置完了之后,這兩個端口就行親兄弟似得,互相幫助。
項目打包
我的項目結構
基于 Spring + SpringMVC + Mybatis + Redis 構建的系統,并且最終要的是通過父工程管理依賴版本的項目。
在父工程的 pom.xml 中添加一下配置:
<!--Maven的打包插件--><build><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-war-plugin</artifactId><version>3.3.2</version></plugin></plugins></build>
開始打包:
可以發現我是打開的 root 項目中的Maven,點擊 clean 可以清楚現有的 target,然后點擊 package 會將子項目中的有服務的項目打包成 war 包,并且會自動依賴到其他的資源文件,比如應用到了 common 這個子項目中的 Bean對象;
至此項目打包完畢,開始部署!!
項目部署
目前版本的寶塔面板的界面,先點擊 Java 環境管理 去配置Java環境,JDK 和 安裝 Tomcat;
這里主要安裝 Tomcat :
全局安裝是一個版本只能安裝一個,自定義安裝,就是一個版本可以安裝多個;建議自定義安裝,分塊化管理服務;可以自定義端口(還是跟剛才一樣,先放行云服務器上的端口,再放行寶塔面板的端口)
添加 Java 項目:
主要還是配置項目路徑,在 wwwroot 文件下自定義一個文件夾,然后域名就是有的話寫上,沒有的話先寫 ip 也行;
創建完成之后點擊根目錄,將之前打的 war 包放進去,雙擊解壓,再將 war 包刪除即可。
啟動服務
war 包上傳之后要將 Tomcat 服務重啟,就行你本地寫代碼一樣,每改動一點就要重新加載 Tomcat 服務。
此時不出意外的話 就可以通過 http://<服務器IP>:<Tomcat端口號>/項目名稱 就可以訪問到項目中的信息了。
但是有一個坑,這個配置完的項目 Tomcat 會自動將項目名稱添加至后端訪問接口上,可以在以下設置:
就是有一個后端路由可以自定義改為 / ,但是我改的時候同樣出現訪問不到的問題,大概率應該是瀏覽器緩存的問題,一定要記得時常清一清緩存。如果實在訪問不到后端服務,可以通過瀏覽器的輸入測試到底是怎么拼接的,當然服務肯定是啟動的,就是接口沒有找好。
至此一個小小項目就上線成功了。
總結
以前部署項目都是現有的開源項目,都是有教程的,但是這一次是完全自己摸索,從0 到 1,用了大概三四天這個樣子,又了解不少,哈哈。
最后我的域名還在申請中… 根據描述工信部還有一個星期的審核,再加上這個五一假期,難評,因為我還著急用呢,急著投簡歷呢。