最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

在Linux環(huán)境下搭建Java環(huán)境和部署Web項目

 更新時間:2026年03月14日 16:07:32   作者:那我掉的頭發(fā)算什么  
本文介紹了在Linux環(huán)境下搭建Java部署環(huán)境的步驟,包括使用虛擬機(jī)、WSL、云服務(wù)器等方法,重點講解了使用云服務(wù)器(如阿里云)的詳細(xì)步驟,包括購買服務(wù)器、連接服務(wù)器、配置遠(yuǎn)程登錄、安裝必要的軟件包(如JDK和MySQL)以及部署Web項目

Linux環(huán)境搭建

環(huán)境搭建方式

主要有四種:

  1. 直接安裝在物理機(jī)上。但是 Linux 桌面使用起來非常不友好。所以不建議?!静煌扑]】。
  2. 使用虛擬機(jī)軟件,將 Linux 搭建在虛擬機(jī)上。但是由于當(dāng)前的虛擬機(jī)軟件(如 VMWare 之類的)存在一些 bug,會導(dǎo)致環(huán)境上出現(xiàn)各種莫名其妙的問題,比較折騰?!痉浅2煌扑]】
  3. 使用 WSL(Windows Subsystem for Linux)。這個是 Windows 近幾年開發(fā)的新功能,在 Windows 系統(tǒng)內(nèi)集成了一個 Linux。但是目前這個技術(shù)還不夠成熟?!緯簳r不推薦】。
  4. 使用云服務(wù)器,可以直接在 騰訊云,阿里云或華為云 等服務(wù)器廠商處直接購買一個云服務(wù)器。【推薦】

購買的時候作為在校學(xué)生,我們是可以白嫖服務(wù)器的使用權(quán)的,大家自行在網(wǎng)上搜索就好了!

我的操作系統(tǒng)選擇是 Ubuntu 22.04 LTS。后續(xù)的內(nèi)容也是使用Ubuntu演示。

使用云服務(wù)器

不同廠商做的頁面不同,我們以阿里云為例:

購買服務(wù)器之后點擊控制臺進(jìn)入自己的服務(wù)器界面

第一次使用服務(wù)器先重置密碼:

記住自己的公網(wǎng)IP:

在這個環(huán)節(jié)我們最重要的是得到三個信息:
1. 服務(wù)器的外網(wǎng) IP
2. 服務(wù)器的管理員賬戶(固定為 root)
3. 管理員賬戶密碼(在騰訊云網(wǎng)站上設(shè)置的)

這三個信息是我們登陸到 Linux 上的必要條件

使用終端軟件連接到Linux

有很多軟件可以完成遠(yuǎn)程和主機(jī)相互鏈接的功能,我們使用Xshell。
網(wǎng)址:https://www.xshell.com/zh/free-for-home-school/

我們下載免費版即可。

下載安裝過程不涉及復(fù)雜配置,基本上一路next,所以大家自行下載即可。

首先新建虛擬機(jī):

名稱自擬,主機(jī)是公網(wǎng)IP

在登陸提示符這里輸入賬號密碼:

最終出現(xiàn)這樣的界面就算配置成功了:

Linux常用命令

ls

語法: ls [選項] [目錄或文件]
功能:對于目錄,該命令列出該目錄下的所有子目錄與文件。對于文件,將列出文件名以及其他信息。
常用選項:
• -a 列出目錄下的所有文件,包括以 . 開頭的隱含文件。
• -d 將目錄象文件一樣顯示,而不是顯示其下的文件。 如:ls ?d 指定目錄
• -k 以 k 字節(jié)的形式表示文件的大小。ls ?alk 指定文件
• -l 列出文件的詳細(xì)信息。
• -r 對目錄反向排序。
• -t 以時間排序。
• -R 列出所有子目錄下的文件。(遞歸)


pwd

顯示用戶當(dāng)前所在的目錄:
跟目錄是root:

cd

Linux系統(tǒng)中,磁盤上的文件和目錄被組成一棵目錄樹,每個節(jié)點都是目錄或文件。
語法: cd 目錄名
功能: 改變工作目錄。將當(dāng)前工作目錄改變到指定的目錄下.

# 返回上級?錄
cd .. 
# 進(jìn)???家?錄
cd ~
# 返回最近訪問?錄
cd -


使用 tab 鍵補全
我們敲的所有的 Linux 命令,都可以使用 tab 鍵來嘗試補全,加快效率。
使用 ctrl + c 重新輸入
如果命令或者目錄敲錯了,可以 ctrl + c 取消當(dāng)前的命令

touch

語法: touch [選項]… 文件…
功能: touch命令參數(shù)可更改文檔或目錄的日期時間,包括存取時間和更改時間,或者新建一個不存在的文件

cat

語法:cat [選項] [文件]
功能: 查看目標(biāo)文件的內(nèi)容

mkdir

語法:mkdir [選項] dirname…
功能:在當(dāng)前目錄下創(chuàng)建一個名為 “dirname”的目錄
常用選項:
• -p, --parents 可以是一個路徑名稱。此時若路徑中的某些目錄尚不存在,加上此選項后,系統(tǒng)將自動建立好那些尚不存在的目錄,即一次可以建立多級目錄。

rm

語法:rm [-f-i-r-v] [dirName/dir]
功能:刪除文件或目錄
常用選項:
• -f 即使文件屬性為只讀(即寫保護(hù)),亦直接刪除
• -i 刪除前逐一詢問確認(rèn)
• -r 刪除目錄及其下所有文件

重要注意事項:
千萬不要直接運行 rm -rf / , 尤其是在公司的生產(chǎn)服務(wù)器上

cp

語法:cp [選項] 源文件或目錄 目標(biāo)文件或目錄
功能: 復(fù)制文件或目錄
說明: cp指令用于復(fù)制文件或目錄,如同時指定兩個以上的文件或目錄,且最后的目的地是一個已經(jīng)存在的目錄,則它會把前面指定的所有文件或目錄復(fù)制到此目錄中。若同時指定多個文件或目錄,而最后的目的地并非一個已存在的目錄,則會出現(xiàn)錯誤信息
常用選項:
• -f 或 --force 強行復(fù)制文件或目錄, 不論目的文件或目錄是否已經(jīng)存在
• -i 或 --interactive 覆蓋文件之前先詢問用戶
• -r遞歸處理,將指定目錄下的文件與子目錄一并處理。若源文件或目錄的形態(tài),不屬于目錄或符號
鏈接,則一律視為普通文件處理
• -R 或 --recursive遞歸處理,將指定目錄下的文件及子目錄一并處理


復(fù)制文件并不是轉(zhuǎn)移文件。源文件不會消失。

mv

語法: mv [選項] 源文件或目錄 目標(biāo)文件或目錄
功能:

  1. 視mv命令中第二個參數(shù)類型的不同(是目標(biāo)文件還是目標(biāo)目錄),mv命令將文件重命名或?qū)⑵湟浦烈粋€新的目錄中。
  2. 當(dāng)?shù)诙€參數(shù)類型是文件時,mv命令完成文件重命名,此時,源文件只能有一個(也可以是源目錄名),它將所給的源文件或目錄重命名為給定的目標(biāo)文件名。
  3. 當(dāng)?shù)诙€參數(shù)是已存在的目錄名稱時,源文件或目錄參數(shù)可以有多個,mv命令將各參數(shù)指定的源文件均移至目標(biāo)目錄中。

常用選項
• -f :force 強制的意思,如果目標(biāo)文件已經(jīng)存在,不會詢問而直接覆蓋
• -i :若目標(biāo)文件 (destination) 已經(jīng)存在時,就會詢問是否覆蓋

tail

語法: tail [必要參數(shù)] [選擇參數(shù)] [文件]
功能:用于顯示指定文件末尾內(nèi)容,不指定文件時,作為輸入信息進(jìn)行處理。常用查看日志文件。
選項:
• -f 循環(huán)讀取
• -n<行數(shù)> 顯示行數(shù)

vim

vim 是一個知名的文本編輯器。使用 vim 可以進(jìn)行文本編輯了。vim 就相當(dāng)于 Windows 的記事本。只不過功能比記事本強大一些。

1)創(chuàng)建文件/打開文件
vim + 文件名
2) 進(jìn)入插入模式
vim 打開文件后默認(rèn)是普通模式。普通模式下鍵盤的按鍵表示一些特殊功能的快捷鍵。(例如按下 j 并不
是輸入字母 “j”,而是表示光標(biāo)往下移動一行)。需要進(jìn)入插入模式才能進(jìn)行文本編輯。
使用 i 鍵可以進(jìn)入到插入模式。(左下角提示 --INSERT-- ) 然后就可以像記事本一樣正常編輯了。
3) 保存
在插入模式下不能保存文件,需要先回到 普通模式 。按下 Esc 回到普通模式。
在普通模式下輸入 :w ,再按下回車,即可保存文件。
4) 退出
在插入模式下不能退出,需要先回到 普通模式。
退出時,分以下情況:
① 文件未修改: 輸入 :q ,再按下回車,即可退出
② 文件修改并保存: 使用 :wq 同時執(zhí)行保存和退出。
③ 文件修改,但不希望保存: 使用 :wq! 進(jìn)行強制退出

grep

語法:grep [參數(shù)]… [文件]…
功能:用于查找文件中是否包含指定字符串, 并顯示對應(yīng)的行.
選項:
• -n<行數(shù)> 顯示的行數(shù)
• -w 全字匹配. 要求整個單詞都完全相同的結(jié)果才能匹配出來, 而不僅僅是一個單詞的一部分.
• -r 遞歸查找. 可以搜索多級目錄下的所有文件.
• --color 高亮查找到的結(jié)果
• --include 指定查找某些文件
• --exclude 指定排除某些文件

ps

語法:ps [參數(shù)]…
功能:用于查看當(dāng)前系統(tǒng)上運行的進(jìn)程
選項:
• a 顯示一個終端的所有進(jìn)程
• u 以用戶為主的格式來顯示程序狀況
• x 顯示所有程序, 不止是會話中的進(jìn)程
• e 顯示所有進(jìn)程, 包括系統(tǒng)守護(hù)進(jìn)程
• f 顯示完整格式輸出

netstat

語法:netstat [參數(shù)]…
功能:查看系統(tǒng)上的網(wǎng)絡(luò)狀態(tài)。
選項:
• -a 顯示所有正在或不在偵聽的套接字
• -n 顯示數(shù)字形式地址而不是去解析主機(jī)、端口或用戶名
• -p 顯示套接字所屬進(jìn)程的PID和名稱

搭建java部署環(huán)境

apt

apt(Advanced Packaging Tool),Linux軟件包管理工具。用于在Ubuntu、Debian和相關(guān)Linux發(fā)行版上安裝、更新、刪除和管理deb軟件包。
大多數(shù)apt命令必須以具有sudo權(quán)限的用戶身份運行

常用命令:


remove命令將卸載給定的軟件包,但可能會留下一些配置文件。如果要刪除包含所有配置文件的軟件
包,請使用purge而不是remove
apt remove 和 apt purge 的區(qū)別
• apt remove 刪除包的二進(jìn)制文件, 它留下了殘留的配置文件.
• apt purge 刪除與包相關(guān)的所有內(nèi)容, 包括配置文件.
如果弄亂了程序的配置, 希望從系統(tǒng)中完全清除它的痕跡再重新開始, 可以使用 apt purge
通常使用 apt remove 就足夠了。

JDK

1.更新軟件包

2.安裝openjdk

#查找jdk包
apt list |grep "jdk"
#安裝jdk
sudo apt install openjdk-17-jdk

看準(zhǔn)了,別下載錯了:

驗證:

卸載:

MYSQL

安裝MYSQL

#查找安裝包
apt list |grep "mysql-server"
#安裝mysql
sudo apt install mysql-server



MySQL安全設(shè)置
默認(rèn)的 MySQL 設(shè)置是不安全的, MySQL 安裝提供了?個安全腳本, ?于解決不太安全的默認(rèn)選項.

sudo mysql_secure_installation

密碼強度選擇2,其他全是Y。

然后就可以直接連接數(shù)據(jù)庫了:

我們應(yīng)該需要給Mysql設(shè)置一個自定義的密碼,保證安全:

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY ***;

下面再想連接數(shù)據(jù)庫就要用輸入賬號密碼的方式了:

部署web項目到Linux

什么是部署

工作中涉及到的 “環(huán)境”
• 開發(fā)環(huán)境: 開發(fā)人員寫代碼用的機(jī)器。
• 測試環(huán)境: 測試人員測試程序使用的機(jī)器。
• 生產(chǎn)環(huán)境(線上環(huán)境): 最終項目發(fā)布時所使用的機(jī)器。對穩(wěn)定性要求很高。
把程序安裝到生產(chǎn)環(huán)境上,這個過程稱為 “部署”。也叫 “上線”。
一旦程序部署成功,那么這個程序就能被外網(wǎng)中千千萬萬的普通用戶訪問到。
換句話說,如果程序有 BUG,這個 BUG 也就被千千萬萬的用戶看到了。
部署過程至關(guān)重要,屬于程序開發(fā)中最重要的一環(huán)。一旦部署出現(xiàn)問題,極有可能導(dǎo)致嚴(yán)重的事故(服務(wù)器不可用之類的)。
為了防止部署出錯,一般公司內(nèi)部都有一些自動化部署工具(如 Jenkins 等)。當(dāng)前我們先使用手工部署的方式來完成部署

環(huán)境配置

程序正常運行,需要保證環(huán)境和程序都要正確,我們需要先設(shè)置環(huán)境
數(shù)據(jù)準(zhǔn)備
按照之前的數(shù)據(jù)庫建表腳本,在服務(wù)器上運行,建立相同的表結(jié)構(gòu)。
程序配置文件修改
實際工作中,開發(fā)環(huán)境,測試環(huán)境以及生產(chǎn)環(huán)境的配置都是不一樣的
比如mysql的用戶名和密碼
我們可以針對不同的環(huán)境,設(shè)置不同的配置

多平臺文件配置
針對不同平臺創(chuàng)建不同的配置文件,要求名字為application-XXX.yml或者application-XXX.properties
以下以application-XXX.yml為例:

spring:
  profiles:
    active: @profile.name@

spring:
  datasource:
    url: jdbc:mysql://127.0.0.1:3306/java_blog_spring?characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai
    username: root
    password: BITE@yyds.666
    driver-class-name: com.mysql.cj.jdbc.Driver
mybatis-plus:
  configuration:
    map-underscore-to-camel-case: true
#    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
logging:
  file:
    name: spring-blog.log
spring:
  datasource:
    url: jdbc:mysql://127.0.0.1:3306/java_blog_spring?characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai
    username: root
    password: hjk050723
    driver-class-name: com.mysql.cj.jdbc.Driver
mybatis-plus:
  configuration:
    map-underscore-to-camel-case: true
    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
logging:
  file:
    name: spring-blog.log
<profiles>
        <profile>
            <id>dev</id>
            <properties>
                <profile.name>dev</profile.name>
            </properties>
        </profile>
        <profile>
            <id>prod</id>
            <properties>
                <profile.name>prod</profile.name>
            </properties>
        </profile>
    </profiles>


此時我們只需要在mvn選項中選擇就可以決定使用哪個配置文件了。

構(gòu)建項目并打包

在本地使用maven進(jìn)行打包

  1. 如果Test代碼中有與環(huán)境配置相關(guān)的操作(比如數(shù)據(jù)庫相關(guān)的操作), 打包會失敗, 點擊下圖①處的圖標(biāo), 可以跳過測試
  2. 點擊clean->package

上傳jar包運行程序

直接拖動打包好的jar包到Xshell窗口即可:

咱們通過訪問自己的服務(wù)器公網(wǎng)IP來檢驗自己的程序是否可以正常運行:

殺死進(jìn)程

先找到所有正在運行的含java的進(jìn)程,使用進(jìn)程號殺死進(jìn)程。

 總結(jié)

本文介紹了在Linux環(huán)境下搭建Java部署環(huán)境的步驟,包括使用虛擬機(jī)、WSL、云服務(wù)器等方法,重點講解了使用云服務(wù)器(如阿里云)的詳細(xì)步驟,包括購買服務(wù)器、連接服務(wù)器、配置遠(yuǎn)程登錄、安裝必要的軟件包(如JDK和MySQL)以及部署Web項目

到此這篇關(guān)于在Linux環(huán)境下搭建Java環(huán)境和部署Web項目的文章就介紹到這了,更多相關(guān)Linux搭建Java環(huán)境和部署Web項目內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 關(guān)于Arrays.sort()使用的注意事項

    關(guān)于Arrays.sort()使用的注意事項

    這篇文章主要介紹了關(guān)于Arrays.sort()使用的注意事項,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-05-05
  • 一文帶你搞懂Java中i++ 和 ++i的區(qū)別

    一文帶你搞懂Java中i++ 和 ++i的區(qū)別

    在Java中,i++和++i都用于遞增變量i的值,但它們之間有一個細(xì)微的區(qū)別,i++是后綴遞增操作符,++i是前綴遞增操作符,在大多數(shù)情況下,這兩種遞增操作的結(jié)果都是一樣的,但在某些特定的表達(dá)式和邏輯中,它們可能會產(chǎn)生不同的效果,本文將帶大家搞清Java中i++ 和 ++i的區(qū)別
    2023-09-09
  • 淺析Java關(guān)鍵詞synchronized的使用

    淺析Java關(guān)鍵詞synchronized的使用

    Synchronized是java虛擬機(jī)為線程安全而引入的。這篇文章主要為大家介紹一下Java關(guān)鍵詞synchronized的使用與原理,需要的可以參考一下
    2022-12-12
  • 詳解JVM的內(nèi)存對象介紹[創(chuàng)建和訪問]

    詳解JVM的內(nèi)存對象介紹[創(chuàng)建和訪問]

    這篇文章主要介紹了JVM的內(nèi)存對象介紹[創(chuàng)建和訪問],文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-03-03
  • Java使用jdbc連接實現(xiàn)對MySQL增刪改查操作的全過程

    Java使用jdbc連接實現(xiàn)對MySQL增刪改查操作的全過程

    JDBC的全稱是Java?Database?Connectivity,即Java數(shù)據(jù)庫連接,它是一種可以執(zhí)行SQL語句的Java?API,下面這篇文章主要給大家介紹了關(guān)于Java使用jdbc連接實現(xiàn)對MySQL增刪改查操作的相關(guān)資料,需要的朋友可以參考下
    2023-03-03
  • MyBatisPlus-QueryWrapper多條件查詢及修改方式

    MyBatisPlus-QueryWrapper多條件查詢及修改方式

    這篇文章主要介紹了MyBatisPlus-QueryWrapper多條件查詢及修改方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-06-06
  • SpringBoot 3.0 新特性內(nèi)置聲明式HTTP客戶端實例詳解

    SpringBoot 3.0 新特性內(nèi)置聲明式HTTP客戶端實例詳解

    聲明式 http 客戶端主旨是使得編寫 java http 客戶端更容易,為了貫徹這個理念,采用了通過處理注解來自動生成請求的方式,本文給大家詳解介紹SpringBoot 聲明式HTTP客戶端相關(guān)知識,感興趣的朋友跟隨小編一起看看吧
    2022-12-12
  • java中的DateTime的具體使用

    java中的DateTime的具體使用

    本文主要介紹了java中的DateTime的具體使用,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-02-02
  • springBoot2.X配置全局捕獲異常的操作

    springBoot2.X配置全局捕獲異常的操作

    這篇文章主要介紹了springBoot2.X配置全局捕獲異常的操作,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-07-07
  • java兩種單例模式用法分析

    java兩種單例模式用法分析

    這篇文章主要介紹了java兩種單例模式用法,結(jié)合實例形式對比分析了java實現(xiàn)單例模式的兩種常見技巧,需要的朋友可以參考下
    2016-08-08

最新評論

石棉县| 疏勒县| 浮山县| 本溪| 新余市| 渝北区| 嘉黎县| 滦平县| 九江县| 长治县| 吉首市| 张家口市| 洮南市| 铁岭县| 积石山| 大理市| 昌都县| 梅州市| 太保市| 抚顺市| 简阳市| 米易县| 涡阳县| 伊川县| 阿合奇县| 塔河县| 温泉县| 青海省| 中宁县| 景泰县| 新绛县| 左贡县| 平阳县| 平昌县| 额尔古纳市| 华安县| 长武县| 阿拉善左旗| 同心县| 依安县| 阳春市|