Linux系統(tǒng)下Java部署環(huán)境搭建與項目部署超詳細(xì)步驟
1. 軟件環(huán)境準(zhǔn)備
1.1 更新軟件包庫
在 Ubuntu 上,每次安裝軟件前建議更新系統(tǒng)的軟件包數(shù)據(jù)庫:
sudo apt update
此命令會從預(yù)設(shè)的軟件源同步最新軟件包的信息。
1.2 安裝 OpenJDK
Java 環(huán)境是運行 Java Web 項目的必備條件。
查找 JDK 包版本 執(zhí)行:
apt list | grep "jdk"
查看有哪些版本的 JDK 可供安裝。
安裝 OpenJDK 17 建議使用較新版本的 OpenJDK,例如:
sudo apt install openjdk-17-jdk
驗證安裝 檢查 Java 版本:
java -version
openjdk version "17.0.12" ...
表示安裝成功。
1.3 安裝 MySQL 數(shù)據(jù)庫
數(shù)據(jù)庫在 Web 項目中通常用于存儲數(shù)據(jù)。
查找 MySQL 包 執(zhí)行:
apt list | grep "mysql-server"
安裝 MySQL 執(zhí)行:
sudo apt install mysql-server
安裝過程中可能會提示確認(rèn)下載和安裝,輸入
Y繼續(xù)。檢查 MySQL 服務(wù)狀態(tài) 執(zhí)行:
sudo systemctl status mysql
狀態(tài)應(yīng)顯示“active (running)”。
進(jìn)行 MySQL 安全設(shè)置 為了增強(qiáng)安全性,請運行:
sudo mysql_secure_installation
根據(jù)提示操作:
是否設(shè)置驗證組件:建議輸入
Y并選擇密碼強(qiáng)度(例如 2 - STRONG);刪除匿名用戶、禁止 root 遠(yuǎn)程登錄和移除 test 數(shù)據(jù)庫等,全部按照提示選擇
Y確認(rèn)即可。
2. 部署 Web 項目到 Linux
2.1 數(shù)據(jù)準(zhǔn)備和配置
數(shù)據(jù)庫建表
根據(jù)提供或自定義的建表 SQL 腳本,在 MySQL 中創(chuàng)建數(shù)據(jù)庫及表結(jié)構(gòu)。
登錄 MySQL:
sudo mysql -u root -p
然后執(zhí)行 SQL 腳本創(chuàng)建數(shù)據(jù)庫。
環(huán)境配置文件修改
在 Spring Boot 項目中,根據(jù)不同環(huán)境編寫配置文件:例如
application-dev.yml與application-prod.yml。在測試環(huán)境里使用開發(fā)配置,在生產(chǎn)環(huán)境中改為正式數(shù)據(jù)庫連接。
主配置文件
application.yml中指定當(dāng)前使用的 profile:spring: profiles: active: prod
2.2 Maven 打包項目
在本地環(huán)境中 進(jìn)入項目根目錄,執(zhí)行:
mvn clean package
如果測試用例因環(huán)境依賴而失敗,可以使用:
mvn clean package -DskipTests
打包結(jié)果 Maven 執(zhí)行完成后,會在
target/目錄下生成一個可執(zhí)行的 jar 包(如blog-spring-0.0.1-SNAPSHOT.jar)。
2.3 上傳 Jar 包至云服務(wù)器
使用 XShell 拖拽上傳
打開 XShell 后,直接將 jar 包從文件管理器拖動至 XShell 窗口,即可完成文件上傳。使用 lrzsz 上傳工具(備用方案)
安裝 lrzsz:
sudo apt-get install lrzsz
在 XShell 中執(zhí)行上傳命令:
上傳命令(在終端中輸入):
sz blog-spring-0.0.1-SNAPSHOT.jar
彈出對話框選擇要上傳的文件,上傳完成后,可在當(dāng)前目錄下看到 jar 文件。
2.4 啟動應(yīng)用程序
在云服務(wù)器中進(jìn)入 jar 文件所在目錄 使用
cd命令定位到上傳文件的目錄(例如:cd ~/java)。后臺啟動應(yīng)用 使用
nohup命令使程序在后臺運行,并將輸出重定向到日志文件中,這樣即使退出終端程序也不會停止運行:bash
nohup java -jar blog-spring-0.0.1-SNAPSHOT.jar > app.log 2>&1 &
nohup:使命令在退出終端后繼續(xù)運行> app.log 2>&1:將標(biāo)準(zhǔn)輸出和錯誤輸出保存到app.log文件&:使命令在后臺執(zhí)行
驗證程序運行情況
使用命令查看運行的進(jìn)程:
ps -ef | grep java
查看日志文件,確認(rèn)啟動完成:
tail -f app.log
2.5 配置防火墻與端口開放
確認(rèn)應(yīng)用端口 假設(shè)應(yīng)用監(jiān)聽 8080 端口,則需要確保云服務(wù)器安全組或防火墻允許外部訪問該端口。
在云服務(wù)器管理控制臺
登錄云服務(wù)商(如騰訊云、阿里云)管理后臺,進(jìn)入防火墻或安全組設(shè)置。
添加相應(yīng)規(guī)則:
協(xié)議:TCP
端口號:8080
來源:建議設(shè)置為
0.0.0.0/0(所有 IP)或根據(jù)實際需要限制 IP 范圍
2.6 訪問與驗證項目
在瀏覽器中訪問 輸入 URL:
http://[外網(wǎng)IP]:8080/blog_login.html
(將
[外網(wǎng)IP]替換為云服務(wù)器實際 IP,8080替換為實際應(yīng)用監(jiān)聽端口)功能驗證
檢查登錄、注冊、博客列表展示、新增博客等功能是否正常
如遇錯誤,回到云服務(wù)器查看日志文件進(jìn)行問題排查
2.7 進(jìn)程管理與問題排查
查看當(dāng)前 Java 進(jìn)程
ps -ef | grep java
停止舊進(jìn)程 若需重啟服務(wù),先使用
kill命令結(jié)束當(dāng)前進(jìn)程(假設(shè) PID 為 12345):kill -9 12345
常見問題檢查
數(shù)據(jù)庫連接密碼錯誤、MySQL 大小寫問題
JDK 版本不匹配,檢查
java -version防火墻端口未開放,重新檢查云服務(wù)安全配置
總結(jié)
以上內(nèi)容詳細(xì)介紹了從 Linux 基本使用到 Java Web 項目部署的全過程。簡單回顧主要步驟:
環(huán)境搭建
選擇并購買云服務(wù)器,獲取外網(wǎng) IP、管理員賬號和密碼使用 XShell 等工具通過 SSH 連接到 Linux 服務(wù)器Linux 基本命令學(xué)習(xí)
掌握文件管理、目錄切換、文本編輯等基礎(chǔ)操作安裝運行環(huán)境
使用 apt 更新軟件包,安裝 OpenJDK 和 MySQL并且完成 MySQL 安全設(shè)置,確保數(shù)據(jù)庫安全項目打包與上傳
在本地使用 Maven 打包生成 jar 包,通過 XShell 或 lrzsz 上傳文件后臺運行及驗證
利用 nohup 后臺啟動 jar,開放必要端口,測試訪問效果排查與進(jìn)程管理
檢查進(jìn)程、日志,使用 kill 命令重啟服務(wù)
這份指南可以作為實際操作時的參考文檔,幫助你理清從環(huán)境搭建、軟件安裝到項目上線的每一步細(xì)節(jié)。對部署流程有疑問或需要進(jìn)一步了解自動化部署工具(如 Jenkins、Docker 等),都可以在此基礎(chǔ)上進(jìn)行進(jìn)一步探索和實踐。
到此這篇關(guān)于Linux系統(tǒng)下Java部署環(huán)境搭建與項目部署的文章就介紹到這了,更多相關(guān)Linux Java部署環(huán)境搭建與項目內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
spring boot攔截器實現(xiàn)IP黑名單實例代碼
本篇文章主要介紹了spring boot攔截器實現(xiàn)IP黑名單實例代碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-04-04
教你從頭開始用JAVA創(chuàng)建一個自己的簡單API并實現(xiàn)第三方調(diào)用
在日常開發(fā)的時候,經(jīng)常會遇到需要調(diào)用別人的接口的場景,下面這篇文章主要給大家介紹了關(guān)于如何從頭開始用JAVA創(chuàng)建一個自己的簡單API并實現(xiàn)第三方調(diào)用的相關(guān)資料,需要的朋友可以參考下2023-12-12
Mybatis實現(xiàn)分包定義數(shù)據(jù)庫的原理與過程
這篇文章主要給大家介紹了關(guān)于Mybatis實現(xiàn)分包定義數(shù)據(jù)庫的原理與過程,文中通過實例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2022-01-01
SpringBoot項目啟動時就加載數(shù)據(jù)到內(nèi)存實現(xiàn)
文章主要討論了在SpringBoot項目中,對于不經(jīng)常變動的配置型數(shù)據(jù),可以在項目啟動時直接加載到內(nèi)存中,以減少不必要的IO消耗,使用Maven管理后端依賴,并實現(xiàn)了服務(wù)層和控制器層2026-04-04

