目錄
上一篇:Linxu的基礎指令和環境部署,項目部署實戰(上)-CSDN博客
1. 搭建Java部署環境
1.1 apt
apt常用命令
列出所有的軟件包
更新軟件包數據庫
安裝軟件包
移除軟件包
1.2?JDK
1.2.1. 更新
1.2.2. 安裝openjdk()
1.2.3.檢查安裝jdk成功
1.3 MySQL
1.3.1 使用apt安裝MySQL
1.3.2 查看MySQL狀態
1.3.3 設置密碼
? ? ? ? 1.3.3.1 連接mysql服務器
? ? ? ? 1.3.3.2 使用 alter user 命令修改密碼(自己能夠記住就行)
2.部署web項目到Linux
2.1 環境配置
2.1.1 數據準備
2.1.2 程序配置文件修改
2.1.3?多平臺文件配置
2.2 構建項目并打包
在本地使用maven進行打包
2.3?上傳Jar包到服務器, 并運行
1. 上傳Jar包直接拖動打好的jar包到xshell窗口即可完成文件的上傳
2. 安裝lrzsz
3.運行程序
4.開放端口
3.常見問題
1.檢查程序是否啟動
2.殺掉進程
1.查看目前的所有進程
2.殺死進程
上一篇:Linxu的基礎指令和環境部署,項目部署實戰(上)-CSDN博客
1. 搭建Java部署環境
1.1 apt
apt(Advanced Packing Tool),Linux軟件包管理工具。用于Ubuntu,Debian和相關的Linux發行版上安裝,更新,刪除和管理deb軟件包。
大多數 apt? 命令都要以有sudo權限的用戶運行。
apt常用命令
列出所有的軟件包
1. apt list
?這個命令輸出所有的工具包列表,內容非常多,可以用 grep 命令過濾。
????????1. apt list |grep "java"
更新軟件包數據庫
1. sudo apt-get update? #運行此命令時, 您將看到從各種服務器檢索到的軟件包信息.
實際上 apt 它通過維護一個軟件包的數據庫來管理和安裝軟件。這個數據庫包含了系統可用的軟件包及其版本信息。
如果數據庫沒有更新,系統將無法檢測到新的軟件包版本,也無法安裝或升級到最新的軟件。因此,在安裝Linux系統之后,更新APT數據庫是一個非常重要的步驟。
如果切換到root用戶, 命令前就不需要加 sudo了
切換root用戶
????????sudo su
安裝軟件包
sudo apt install package_name
移除軟件包
sudo apt remove package_name?
值得注意的是 remove命令會卸載掉特定的軟件包,但可能會留下配置文件,如果要把配置文件也徹底刪除?,就是用 purge 命令替代 remove ;
1.2?JDK
1.2.1. 更新
安裝之前都要執行一遍更新軟件包命令??sudo apt-get update
1.2.2. 安裝openjdk()
注意: 此處安裝的是OpenJDK, OpenJDK是一個開源版本的 JDK, 和 Oracle 官方的 JDK 略有差別. 此處我們就使用 OpenJDK 即可. 安裝 Oracle JDK 比較麻煩.
1.#查找jdk包
2.apt list |grep "jdk"
3.
4.#安裝jdk17
5. apt install openjdk-17-jdk
安裝過程輸入 y 確認
當跳出這個畫面就按回車就好,然后等待安裝;
1.2.3.檢查安裝jdk成功
?1. java -version? #查看jdk版本
當輸出jdk的版本,就說明你安裝jdk成功了
如果提示 "java 命令找不到" 則說明安裝失敗
1.3 MySQL
1.3.1 使用apt安裝MySQL
1. #查找安裝包
2. apt list |grep "mysql-server"
3. #安裝mysql
4. sudo apt install mysql-server
安裝流程與安裝jdk一致
1.3.2 查看MySQL狀態
1. sudo systemctl status mysql
????????執行結果
1.3.3 設置密碼
? ? ? ? 1.3.3.1 連接mysql服務器
1. sudo mysql
? ? ? ? 1.3.3.2 使用 alter user 命令修改密碼(自己能夠記住就行)
1? ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';
????????執行結果(證明修改密碼成功)
2.部署web項目到Linux
2.1 環境配置
程序正常運行, 需要保證環境和程序都要正確, 我們需要先設置環境
2.1.1 數據準備
在服務器上的mysql數據上建立與項目一致的數據庫,數據可以不用同步,只要庫表結構一樣就好了。
2.1.2 程序配置文件修改
實際工作中,開發環境,測試環境和線上環境的配置是不一樣的
比如mysql的用戶名和密碼;
所以我們要針對不同的環境,設置不同的配置
2.1.3?多平臺文件配置
方法有很多種,這里我只舉例我使用的這一種
針對不同的平臺創建不同的配置文件,要求名字為
- application.properties,
- application-dev.properties,
- application-test.properties;?
dev指的是開發環境的配置,test指的是線上環境的配置,固定格式,只有后面的字母可以修改,在不同的配置文件寫不同的內容(下面只是將數據庫的配置作為展示,如果自己還有其他配置,像:日志的存儲路徑,圖片的存取路徑都是要按這種方式修改的。)
application-dev.properties(開發環境的數據庫的配置)
application-test.properties(線上環境的數據庫的配置)
在主配置文件 application.properties 中指定配置文件為線上開發環境的配置
2.2 構建項目并打包
在本地使用maven進行打包
1. 如果Test代碼中有與環境配置相關的操作(比如數據庫相關的操作), 打包會失敗, 點擊下圖①處的圖標, 可以跳過測試。
2. 點擊clean->package
2.3?上傳Jar包到服務器, 并運行
1. 上傳Jar包
直接拖動打好的jar包到xshell窗口即可完成文件的上傳
問題: 如果執行上述命令之后, 提示 Command 'XX' not found , 表示當前云服務器未安裝lrzsz命令, 需要先進行安裝
2. 安裝lrzsz
1.? apt-get install lrzsz
3.運行程序
1.? nohup java -jar blog-spring-0.0.1-SNAPSHOT.jar &
nohup : 后臺運行程序. 用于在系統后臺不掛斷地運行命令,退出終端不會影響程序的運行.
4.創建相關數據庫表
連接mysql數據庫
mysql -uroot -p 回車 然后在命令行輸入密碼就可以了
看到一下界面就說明你連接數據庫成功了
?連接數據庫成功之后,就可以去創建數據庫,表等內容,這里不在過多贅述;
如果你有完整的sql文件,執行SQL文件: 使用以下命令執行SQL文件:
source /path/to/yourfile.sql
例如,如果你的SQL文件位于/root目錄下,文件名為test.sql,則命令如下:?source /root/test.sql;
如果在當前工作路徑下,就直接source 文件名? 就可以了。
4.開放端口
如果外網需要訪問該服務, 需要先服務器防火墻開放對應的端口號,本著服務器安全的原則,云服務器上的端口非必要不開啟.
比如常見端口號: 數據庫 3306 , Redis 6379, 盡可能避免開放, 而是采用其他方式來連接, 比如配置隧道的方式。
以阿里云服務器為例子
進入實例的安全組界面,點擊安全組的管理規則
端口號寫需要開放的端口號, 多個端口號以逗號分割.?
3.常見問題
1.檢查程序是否啟動
ps -ef |grep "java"
2.殺掉進程
1.查看目前的所有進程
1.ps -ef |grep "java" (只查看名字包含java的程序)
執行結果中的29916,31709就是進程執行的端口號
2.殺死進程
1. kill -9? 端口號(29916)(強制殺死進程)