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

Linux環(huán)境下Java項目基礎(chǔ)環(huán)境搭建過程

 更新時間:2026年04月02日 08:57:25   作者:米糕闖編程  
文章主要講述了在Linux系統(tǒng)下安裝和配置JDK、Tomcat、MySQL的過程,包括使用tar、rpm、yum命令進(jìn)行軟件安裝,修改環(huán)境變量,啟動服務(wù),配置防火墻,以及初始化MySQL數(shù)據(jù)庫等步驟

一、下載解壓JDK和Tomcat(JDK為必備環(huán)境)

Linux軟件安裝方法:

1、tar:解壓安裝

  • 安裝包格式:tar、tar.gz、tar.bz
  • 安裝軟件包命令:tar -zxvf [包名]

2、rpm:直接安裝

  • 安裝包格式:rpm
  • 安裝軟件包命令:rpm -ivh 軟件包路徑
  • 卸載軟件包命令:rpm -e 軟件包全名

3、yum:在線安裝

  • 安裝軟件包命令:yum -y install subversion
  • 卸載軟件包命令:yum -y remove subversion

一般建議解壓安裝;JDK、Tomcat、MYSQL、maven的版本一般都建議與開發(fā)環(huán)境保持一致,并且要注意對應(yīng)的Tomcat版本所支持的JDK版本,官網(wǎng)上幾乎都能看到版本對應(yīng)信息;

JDK安裝:先去官網(wǎng)找到對應(yīng)的版本,我這邊做測試用的項目是比較老的,所以用的JDK8

Java Downloads | Oracle

可以在官網(wǎng)上找到自己的版本:

我的CentOS是X64,所以對應(yīng)我要下載X64tar.gz,下載后自己保存到本地的一個目錄;

Tomcat安裝:在官網(wǎng)上查看對應(yīng)JDK匹配的Tomcat版本

Apache Tomcat® - Which Version Do I Want?

我的項目是JDK8,這里只能用Tomcat9;

MYSQL安裝:老項目,所以只能用MYSQL5,自己可以找找;

具體安裝(我這邊用的是安裝包的解壓,純綠色版本,安裝,卸載都比較方便)

1、JDK:使用xftp工具將本地對應(yīng)的tar包上傳到自己的CentOS里,這里我選的目錄是opt,自己可以根據(jù)情況來選擇自己的目錄;

上傳后可以通過命令ls 查看對應(yīng)的文件,下面來一個個解壓:

使用命令解壓JDK:tar -zxvf jdk-8u481-linux-x64.tar.gz執(zhí)行后開始解壓:

解壓后,會對應(yīng)有個安裝文件;

接著要去修改環(huán)境變量(注意,不要多加空格,特別是=號兩邊):

exprot JAVA_HOME=/opt/jdk1.8.0_481
exprot PATH=$JAVA_HOME/bin:$PATH

注意:$PATH一定要加上,這個是Linux系統(tǒng)里的環(huán)境變量,如果沒有加上,可能會導(dǎo)致系統(tǒng)崩潰,很多命令都將用不了,所以一定要把原來的$PATH加上;

然后使用命令source /etc/profile 讓剛剛修改的配置文件生效;

再使用java -version 查看剛剛安裝的JDK版本;

至此JDK就安裝、配置好了,然后再去安裝Tomcat,一定要記得先裝JDK,再去安裝Tomcat,像有JDK依賴的工具都需要先安裝好JDK,否則啟動會報錯,無法啟動。

2、Tomcat:同理先解壓tar包。

解壓后,進(jìn)入到對應(yīng)的bin目錄下,可以看到對應(yīng)啟動命令,注意.bat為Windows環(huán)境下的命令,.sh為Linux環(huán)境下的命令;

在bin目錄下使用 sh startup.sh啟動Tomcat;

啟動后可以看到,Tomcat用的JDK是剛剛配置的1.8的;

我們再去進(jìn)程里看看:使用命令

ps -ef | grep tomcat

可以看到Tomcat進(jìn)程正在運(yùn)行,我們用宿主機(jī)(我的是Windows)來訪問看看:

很明顯無法訪問。

這里是因為Linux的防火墻機(jī)制,除了默認(rèn)的22端口對外暴露,其他的要配置,可以使用命令查看下已開放的防火墻:

firewall-cmd --zone=public --list-ports

可以看到?jīng)]有東西,所以我們的8080端口的Tomcat無法被其他地方訪問到,現(xiàn)在我們開放我們的8080端口:(--permanent可以加,也可以不加,加了就是8080端口永久訪問生效,不加就是當(dāng)前訪問有效,重新啟動后需要重新配置端口的開放)

firewall-cmd --zone=public --add-port=8080/tcp --permanent

以上命令將8080端口開放;

開放后一定要記得重新加載防火墻,使剛剛的設(shè)置生效;

加載命令:

firewall-cmd --reload

在訪問下開放的端口列表:

firewall-cmd --zone=public --list-ports

可以看到8080被開放了;

再去訪問下:Windows上的頁面和CMD都可以訪問了。

注意如果同時啟動兩個Tomcat就要修改其中一個Tomcat的配置文件了,修改端口可以看Tomcat的使用指南;然后想讓宿主機(jī)訪問,記得添加訪問端口到防火墻(步驟如上);

這個時候界面上的managerAPP是還不能用的,要界面能使用,管理我們的web項目,需要修改對應(yīng)的,找到配置文件

tomcat-users.xml

編輯內(nèi)容:將以下內(nèi)容添加到tomcat-users.xml中,記得ESC后:wq!保存后退出,要記得自己的password和username,

  • manager-gui角色專門用于通過瀏覽器訪問圖形界面(/manager/html)。

<!-- 以下三行為開啟界面用戶使用managerAPP  -->
     <role rolename="admin-gui"/>
     <role rolename="manager-gui"/>
     <user username="admin" password="admin123" roles="manager-gui"/>

這一步只是創(chuàng)建了可以訪問該界面的用戶,而Manager App的配置文件默認(rèn)是只允許服務(wù)器本機(jī)訪問的,所以還要配置context.xml,目錄在webapps/manager/META-INF/下

將原來的:

<Valve className="org.apache.catalina.valves.RemoteCIDRValve"
     allow="127.0.0.0/8,::1/128" />

注釋:

<!-- <Valve className="org.apache.catalina.valves.RemoteCIDRValve"
     allow="127.0.0.0/8,::1/128" /> -->

然后再去bin目錄下重新啟動tomcat,再去頁面訪問,進(jìn)入:

可以界面管理項目了。

Tomcat的安裝,啟動相關(guān)就處理完了。

注:給tomcat配置不同的JDK,可以在單獨(dú)的tomcat配置文件中修改;

#在bin/catalina.sh文件開頭加上(JRE可以不配,JDK17沒有JRE可用jlink命令做軟鏈接)
#Tomcat10以前也可以配置在setclasspath.sh文件中,從Tomcat10.1開始必須JDK11+
export JAVA_HOME=/opt/jdk17

3、MYSQL安裝:同樣先解壓,解壓后可以刪除安裝包;

1)解壓后重命名(前面是原來的名字,后面是新的命名),方便后續(xù)使用:

命令:mv mysql-5.6.37-linux-glibc2.12-x86_64 mysql5.6

因為一般數(shù)據(jù)庫由DB管理,一般會建一個專門的用戶管理數(shù)據(jù)庫;

添加用戶組:

  • 命令:groupadd mysqlzu
  • 添加用戶gaolu到用戶組mysqlzu :
  • 命令:useradd gaolu-g mysqlzu

創(chuàng)建數(shù)據(jù)文件夾(本地mysql相關(guān)數(shù)據(jù)信息都會在這個文件夾里,以后卸載對應(yīng)版本,只要保存好這個文件,數(shù)據(jù)就可以繼續(xù)使用,一般業(yè)務(wù)數(shù)據(jù)存放的地方):

命令:

cd /opt/mysql5.6/data mkdir my_mysql

將指定文件的擁有者改為指定的用戶和組 :

命令

chown -R gaolu:mysqlzu /opt/mysql5.6

2) 初始化數(shù)據(jù)庫:user后面接你自己剛剛創(chuàng)建的Linux用戶

命令

/opt/mysql5.6/scripts/mysql_install_db --user=gaolu --basedir=/opt/mysql5.6/ --datadir=/opt/mysql5.6/data/mysql

含義:

/opt/mysql5.6/scripts/mysql_install_db初始化腳本的路徑。這是 MySQL 5.6 提供的專門用于初始化數(shù)據(jù)庫的 Perl 腳本。在 MySQL 5.7.6 及更高版本中,這個腳本已被mysqld --initialize命令取代。
--user=gaolu指定運(yùn)行進(jìn)程的操作系統(tǒng)用戶。這告訴初始化腳本以mysql這個系統(tǒng)用戶的身份來創(chuàng)建和運(yùn)行數(shù)據(jù)庫進(jìn)程,是提升安全性的最佳實(shí)踐。
--basedir=/opt/mysql5.6/指定 MySQL 的安裝根目錄。腳本會在這個目錄下尋找 MySQL 的二進(jìn)制文件(如bin目錄)和共享文件(如share目錄)。
--datadir=/opt/mysql5.6/data/my_mysql指定數(shù)據(jù)庫數(shù)據(jù)的實(shí)際存儲目錄。所有用戶數(shù)據(jù)、系統(tǒng)表、日志文件等都將存放在這個路徑下。

執(zhí)行報錯:

我忘記裝Perl 解釋器了,mysql_install_db是一個Perl 腳本。

使用命令

命令yum install -y perl 在線安裝;

安裝后可以查到對應(yīng)版本,再執(zhí)行上述命令就可以正常初始化數(shù)據(jù)庫了。

看到OK就初始化成功了!

3)初始化數(shù)據(jù)庫成功后,要記得復(fù)制配置文件將mysql目錄下的my-default.cnf復(fù)制到/etc/my.cnf:my-default.cnf為mysql的配置文件,mysql不會自動讀取my-default.cnf

# MySQL 啟動時的配置文件查找路徑(優(yōu)先級從高到低)
/etc/my.cnf                    # 系統(tǒng)級配置(第1優(yōu)先)
/etc/mysql/my.cnf              # 系統(tǒng)級配置(第2優(yōu)先)
/usr/local/mysql/etc/my.cnf    # 安裝目錄配置
~/.my.cnf                      # 用戶級配置

命令

cp support-files/my-default.cnf /etc/my.cnf

不配置的話:

# 刪除/不創(chuàng)建 /etc/my.cnf
rm -f /etc/my.cnf
# 啟動 MySQL
/opt/mysql5.6/bin/mysqld_safe --user=gaolu &
# MySQL 會使用編譯時的默認(rèn)值啟動
# 可能的問題:
# - 數(shù)據(jù)目錄可能在默認(rèn)位置 /var/lib/mysql(而不是 /opt/mysql5.6/data)
# - 端口可能是 3306(但可能被占用)
# - 字符集可能是 latin1(而不是 UTF-8)
# - 沒有錯誤日志文件

4)復(fù)制完了要記得修改 /etc/my.cnf配置,包括字符集之類:

命令

vi /etc/my.cnf

在mysqld下添加:

port=3306
        default-storage-engine=INNODB
        character-set-server=utf8
        lower_case_table_names=1
        #修改過期時間
        wait_timeout=31536000  
        interactive_timeout=31536000

保存后退出(esc :wq!,按順序按鍵);

5)接著修改:support-files/mysql.server

命令

vi /opt/mysql5.6/support-files/mysql.server

添加:改成自己的目錄

basedir=/opt/mysql5.6
datadir=/opt/mysql5.6/data/my_mysql

保存退出編輯。

6)最后要加上環(huán)境變量(:$PATH千萬不要掉了):

命令:vi /etc/profile

export PATH=/opt/mysql/bin:$PATH

啟動配置-命令: source /etc/profile

保存后退出;

7)啟動服務(wù)(這里要注意下當(dāng)前用戶有沒有權(quán)限,因為剛開始我們給這個文件的使用者指定了用戶組的):

命令

/opt/mysql5.6/support-files/mysql.server start

測試連接-命令:mysql -u root -p

初始是沒有密碼的,直接回車就可以進(jìn)入數(shù)據(jù)庫了。

可以正常使用了,接下來就和Windows操作一樣了,這個MySQL版本比較低,和CentOS10直接有些兼容性問題,一般都是包不兼容,對應(yīng)去下載包,指定使用規(guī)則就好了。

8)Linux中數(shù)據(jù)庫開放,讓宿主機(jī)連接:

現(xiàn)在Windows上連接不到我Linux上的MySQL的。

我們要改幾個地方,先進(jìn)入MySQL,使用MySQL庫,然后修改user表數(shù)據(jù)

相關(guān)命令

select host,user from user where user='root';
update user set host='%' where host='127.0.0.1';

最后還要記得

mysql> flush privileges;

可以正常連接了,可以使用;

總結(jié)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • SpringBoot從2.7.x 升級到3.3注意事項

    SpringBoot從2.7.x 升級到3.3注意事項

    從SpringBoot 2.7.x升級到3.3涉及多個重要變更,特別是因為 Spring Boot 3.x 系列基于 Jakarta EE 9,而不再使用 Java EE,本文就來詳細(xì)的介紹一下,感興趣的可以了解一下
    2024-09-09
  • SpringBoot動態(tài)定時任務(wù)實(shí)現(xiàn)完整版

    SpringBoot動態(tài)定時任務(wù)實(shí)現(xiàn)完整版

    最近有幸要開發(fā)個動態(tài)定時任務(wù),這里簡單再梳理一下,下面這篇文章主要給大家介紹了關(guān)于SpringBoot動態(tài)定時任務(wù)實(shí)現(xiàn)的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-02-02
  • Spring?Boot2?整合連接?Redis的操作方法

    Spring?Boot2?整合連接?Redis的操作方法

    在Spring?Boot中,通過RedisTemplate可以方便地對Redis進(jìn)行操作,包括設(shè)置和獲取數(shù)據(jù),文章詳細(xì)介紹了如何配置RedisTemplate,創(chuàng)建RedisConfig類進(jìn)行自定義配置,并通過Controller訪問Redis數(shù)據(jù)庫,感興趣的朋友一起看看吧
    2025-02-02
  • 修改Springboot默認(rèn)序列化工具Jackson配置的實(shí)例代碼

    修改Springboot默認(rèn)序列化工具Jackson配置的實(shí)例代碼

    這篇文章主要介紹了如何修改Springboot默認(rèn)序列化工具Jackson的配置,當(dāng)Spring容器中存在多個同類型的Bean時,默認(rèn)情況下最后一個創(chuàng)建的Bean將作為首選Bean,文中通過代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2024-02-02
  • Java位運(yùn)算知識點(diǎn)詳解

    Java位運(yùn)算知識點(diǎn)詳解

    這篇文章給大家分享了關(guān)于Java位運(yùn)算的相關(guān)知識點(diǎn)內(nèi)容,有興趣的朋友們可以學(xué)習(xí)參考下。
    2018-09-09
  • java判斷class子類或父類的實(shí)例方法

    java判斷class子類或父類的實(shí)例方法

    在本篇文章里小編給大家整理的是關(guān)于java判斷class子類或父類的實(shí)例方法,需要的朋友們可以參考學(xué)習(xí)下。
    2020-02-02
  • Springboot上傳文件的同時傳遞參數(shù)用對象接收的問題及解決方案

    Springboot上傳文件的同時傳遞參數(shù)用對象接收的問題及解決方案

    在Spring Boot中,若接口需同時接收文件和其他參數(shù),應(yīng)將文件用@RequestParam標(biāo)注,其他參數(shù)封裝對象并用@Validated校驗,避免參數(shù)綁定沖突,本文給大家介紹Springboot上傳文件的同時傳遞參數(shù)用對象接收,感興趣的朋友跟隨小編一起看看吧
    2025-09-09
  • Java 十大排序算法之插入排序刨析

    Java 十大排序算法之插入排序刨析

    插入排序(InsertionSort),一般也被稱為直接插入排序。對于少量元素的排序,它是一個有效的算法。插入排序是一種最簡單的排序方法,它的基本思想是將一個記錄插入到已經(jīng)排好序的有序表中,從而一個新的、記錄數(shù)增 1 的有序表
    2021-11-11
  • JAVAEE Filter 過濾器設(shè)置是否緩存實(shí)例詳解

    JAVAEE Filter 過濾器設(shè)置是否緩存實(shí)例詳解

    網(wǎng)頁中,每次的客戶端訪問服務(wù)器,有部分不用重復(fù)請求的,這樣可以減輕服務(wù)器的工作量。那么如何設(shè)置客戶端是否都緩存呢?接下來通過本文給大家介紹JAVAEE Filter 過濾器設(shè)置是否緩存的實(shí)例,感興趣的朋友一起學(xué)習(xí)吧
    2016-05-05
  • Java構(gòu)造函數(shù)里的一些坑記錄super()和this()

    Java構(gòu)造函數(shù)里的一些坑記錄super()和this()

    這篇文章主要介紹了Java構(gòu)造函數(shù)里的一些坑記錄super()和this(),具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-03-03

最新評論

高要市| 西藏| 开平市| 大城县| 类乌齐县| 冷水江市| 家居| 佛冈县| 虹口区| 和田县| 常熟市| 辉南县| 平果县| 哈巴河县| 金湖县| 栾川县| 扶绥县| 宁强县| 新营市| 永清县| 凤冈县| 河源市| 西乌| 大埔区| 巴南区| 固始县| 瑞安市| 山西省| 宣汉县| 海丰县| 包头市| 连平县| 鄂托克前旗| 锡林郭勒盟| 墨江| 桂林市| 维西| 南城县| 六盘水市| 泉州市| 韶山市|