欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

將JavaWeb項目部署到云服務(wù)器的詳細(xì)步驟

 更新時間:2024年12月13日 09:53:57   作者:2的n次方_  
這篇文章主要介紹了將JavaWeb項目部署到云服務(wù)器的詳細(xì)步驟,文章通過圖文結(jié)合的方式給大家講解的非常詳細(xì),對大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下

1. 搭建 Java 部署環(huán)境

接下來以 Ubuntu 來進(jìn)行演示

1.1. apt 包管理工具

apt 就相當(dāng)于手機(jī)上的應(yīng)用市場

列出所有軟件包:apt list
這個命令輸出所有包的列表,內(nèi)容比較多,可以使用 grep 命令過濾輸出:apt list |grep "jdk"

如果需要下載的軟件,軟件包中沒有的話那就需要用其他方式下載了

安裝軟件前需要更新一下軟件包數(shù)據(jù)庫:sudo apt-get update

安裝軟件包

sudo apt install package_name

移除軟件包

sudo apt remove package_name

remove 命令將卸載給定的軟件包,但可能會留下一些配置文件。如果要刪除包含所有配置文件的軟件包,要使用 purge

apt remove 和 apt purge 的區(qū)別

?apt remove 刪除包的二進(jìn)制文件,它留下了殘留的配置文件。
?apt purge 刪除與包相關(guān)的所有內(nèi)容,包括配置文件。

如果弄亂了程序的配置,希望從系統(tǒng)中完全清除它的痕跡再重新開始,可以使用 apt purge。

1.2. 下載 jdk

sudo apt install openjdk-17-jdk

安裝之后可以使用 java -version 來查看是否安裝成功

關(guān)于如何卸載 jdk

檢查安裝的是哪個 OpenJDK

dpkg --list | grep -i jdk

移除 openjdk 包:

apt-get purge openjdk*

卸載 OpenJDK 相關(guān)包:

apt-get purge icedtea-* openjdk-*

檢查所有 OpenJDK 包是否都已卸載完畢:

dpkg --list | grep -i jdk

1.3. 下載 mysql

通過下面的命令來下載 mysql

sudo apt install mysql-server

安裝好之后可以通過 mysql --version來查看版本

也可以通過 sudo systemctl status mysql來檢查 mysql 的狀態(tài)

關(guān)于卸載 mysql:

  1. 停止 mysql
    sudo systemctl stop mysql
  2. 卸載 mysql
    sudo apt-get remove --purge mysql-*
  3. 刪除 MySQL 配置文件和數(shù)據(jù)
    sudo rm -rf /etc/mysql/var/lib/mysql
  4. 清理殘留文件和目錄
    sudo apt-get autoremove
    sudo apt-get autoclean
  5. 驗證卸載結(jié)果
    mysql --version

2. 部署 Web 項目

開發(fā)環(huán)境:開發(fā)人員寫代碼用的機(jī)器。

測試環(huán)境:測試人員測試程序使用的機(jī)器。
生產(chǎn)環(huán)境 (線上環(huán)境): 最終項目發(fā)布時所使用的機(jī)器,對穩(wěn)定性要求很高。

2.1. mysql 安全設(shè)置

運行一下命令:

sudo mysql_secure_installation

運行之后的選項都輸入 Y,密碼強(qiáng)度設(shè)置為 2

輸入 sudo mysql 進(jìn)入后設(shè)置密碼

ALTERUSER'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '自定義密碼';

設(shè)置之后就可以創(chuàng)建數(shù)據(jù)庫和表,保持和開發(fā)時的數(shù)據(jù)一致

2.2. 配置環(huán)境

開發(fā)環(huán)境和生產(chǎn)環(huán)境肯定是不一樣的,所以一些配置也需要修改,比如 mysql 的密碼或者一些日志的配置,就可以針對不同的平臺來進(jìn)行配置

那么這三個文件哪個可以生效,可以在 application.yml 來配置下面這些內(nèi)容

spring:
  profiles:
    active: @profile.name@

是通過自定義 Maven 的參數(shù)來實現(xiàn)的

<profiles>
  <profile>
    <id>dev</id>
    <properties>
      <profile.name>dev</profile.name>
    </properties>
    <activation>
      <activeByDefault>true</activeByDefault>
    </activation>
  </profile>
  <profile>
    <id>prod</id>
    <properties>
      <profile.name>prod</profile.name>
    </properties>
  </profile>
</profiles>

這樣就可以通過 Maven 來進(jìn)行選擇使用哪個配置了

也可以設(shè)置默認(rèn)選擇的是哪個配置文件

<activation>
  <activeByDefault>true</activeByDefault>
</activation>

2.3. 打包項目

上面配置好之后就可以打包了,注意要選擇 prod,然后雙擊 package

如果 Test 代碼中有與環(huán)境配置相關(guān)的操作 (比如數(shù)據(jù)庫相關(guān)的操作,可能由于密碼等不一致發(fā)生錯誤),打包會失敗,可以選擇跳過測試,因為執(zhí)行 package 時會按照步驟從上往下依次執(zhí)行

2.4. 上傳并運行 jar 包

可以直接把 jar 包拖進(jìn) finalshell 中或者使用 rz 命令來進(jìn)行上傳,上傳之后通過 java -jar 命令來運行 jar 包

如果希望別人也能訪問的話,項目中設(shè)置的端口號(例如8080)也需要在云服務(wù)器上進(jìn)行開放

不過使用上面的啟動方式的話,如果 finalshell 關(guān)了或者斷開連接,服務(wù)就停止了,就需要使用 nohup 命令來啟動:

看日志的話推薦 tail -f 命令來去看,就可以實時查看,后續(xù)新增的日志也是能看到的

3. 常見問題總結(jié)

如果說服務(wù)不能正常訪問,可能會有以下原因:

服務(wù)未啟動:

可以使用 ps -ef|grep java來查看程序是否運行

使用 curl 項目路徑來看是否返回有 html 頁面,如果有返回,那么就說明程序啟動成功了, 可能是端口號未開放

如果沒有啟動成功,需要查看對應(yīng)的日志,可能是數(shù)據(jù)庫不存在或者數(shù)據(jù)庫密碼不正確,jdk版本 ,mysql 沒有設(shè)置密碼等問題

http 端口未開放,如果說云服務(wù)器的防火墻打開了,還需要再打開防火墻的端口號

可以使用sudu ufw status命令來查看防火墻是否開啟,下面顯示的是未開啟狀態(tài)

如果說在部署之后又發(fā)生了錯誤,要重新部署,就需要先把對應(yīng)的進(jìn)程結(jié)束掉,可以先通過netstat -nltp|grep 8080來查看對應(yīng)的進(jìn)程,再使用 kill 命令結(jié)束進(jìn)程

以上就是將JavaWeb項目部署到云服務(wù)器的詳細(xì)步驟的詳細(xì)內(nèi)容,更多關(guān)于將JavaWeb部署到云服務(wù)器的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Spring如何處理注解的深入理解

    Spring如何處理注解的深入理解

    這篇文章主要給大家介紹了關(guān)于Spring如何處理注解的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用java中的注解具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2018-11-11
  • java中stringbuffer線程安全分析實例詳解

    java中stringbuffer線程安全分析實例詳解

    在本篇文章里小編給大家整理的是一篇關(guān)于java中stringbuffer線程安全分析實例詳解內(nèi)容,有興趣的朋友們可以學(xué)習(xí)下。
    2021-01-01
  • java 中動態(tài)代理機(jī)制的實例講解

    java 中動態(tài)代理機(jī)制的實例講解

    這篇文章主要介紹了java 中動態(tài)代理機(jī)制的實例講解的相關(guān)資料,希望通過本文大家能夠理解掌握動態(tài)代理機(jī)制,需要的朋友可以參考下
    2017-09-09
  • 使用EasyPoi輕松導(dǎo)入導(dǎo)出Excel文檔的方法示例

    使用EasyPoi輕松導(dǎo)入導(dǎo)出Excel文檔的方法示例

    這篇文章主要介紹了使用EasyPoi輕松導(dǎo)入導(dǎo)出Excel文檔的方法示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-12-12
  • 淺談java中HashMap鍵的比較方式

    淺談java中HashMap鍵的比較方式

    今天帶大家了解一下java中HashMap鍵的比較方式,文中有非常詳細(xì)的解釋說明及代碼示例,對正在學(xué)習(xí)java的小伙伴們很有幫助,需要的朋友可以參考下
    2021-05-05
  • spring緩存自定義resolver的方法

    spring緩存自定義resolver的方法

    這篇文章主要為大家詳細(xì)介紹了spring緩存自定義resolver的方法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-03-03
  • Java StringBuilder類原理及常用方法

    Java StringBuilder類原理及常用方法

    這篇文章主要介紹了Java StringBuilder類原理及常用方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-12-12
  • SpringBoot中Controller參數(shù)與返回值的用法總結(jié)

    SpringBoot中Controller參數(shù)與返回值的用法總結(jié)

    這篇文章主要介紹了SpringBoot中Controller參數(shù)與返回值的用法,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-07-07
  • Java多線程編程之訪問共享對象和數(shù)據(jù)的方法

    Java多線程編程之訪問共享對象和數(shù)據(jù)的方法

    這篇文章主要介紹了Java多線程編程之訪問共享對象和數(shù)據(jù)的方法,多個線程訪問共享對象和數(shù)據(jù)的方式有兩種情況,本文分別給出代碼實例,需要的朋友可以參考下
    2015-05-05
  • Java更新調(diào)度器(update scheduler)的使用詳解

    Java更新調(diào)度器(update scheduler)的使用詳解

    Java更新調(diào)度器是Java中的一個特性,可以自動化Java應(yīng)用程序的更新過程,它提供了一種方便的方式來安排Java應(yīng)用程序的更新,確保其與最新的功能、錯誤修復(fù)和安全補(bǔ)丁保持同步,本文將深入介紹如何使用Java更新調(diào)度器,并解釋它對Java開發(fā)人員和用戶的好處
    2023-11-11

最新評論