Linux服務(wù)器如何部署java項(xiàng)目
安裝JDK
我下載的是 jdk-8u341-linux-x64.tar.gz
一、上傳
在/usr/local中創(chuàng)建java文件夾
mkdir /usr/local/java
把JDK上傳到j(luò)ava目錄下

可以用ls命令查看一下

二、解壓
輸入命令
tar -xzvf jdk-8u341-linux-x64.tar.gz
jdk-8u341-linux-x64.tar.gz是我下載的JDK文件名,此處輸入自己下載對(duì)應(yīng)的文件名,解壓之后可以看到/usr/local/java目錄下多出了一個(gè)文件夾

解壓之后JDK的安裝包可以刪掉
三、配置JAVA環(huán)境變量
java命令測(cè)試,直接輸入java,出現(xiàn)-bash:java:command nor found說(shuō)明沒(méi)有配置java環(huán)境變量

需要配置的環(huán)境變量
| 項(xiàng)目 | Value | 備注 |
|---|---|---|
| PATH | 指定命令搜索路徑,shell執(zhí)行命令時(shí)會(huì)到PATH所指定的路徑中查看能否找到命令程序 | jdk的/bin中包含經(jīng)常要訪問(wèn)的javac、java、javadoc等命令,設(shè)置后可以在任何目錄下執(zhí)行該命令 |
| CLASSPATH | 指定類搜索路徑,JVM通過(guò)CLASSPATH來(lái)尋找類 | 設(shè)置jdk的/lib中的dt.jar和tools.jar以及當(dāng)前目錄"."給CLASSPATH |
| JAVA_HOME | 指向jdk安裝目錄 | Eclipse、NetBeans、Tomcat等軟件會(huì)通過(guò)JAVA_HOME來(lái)使用jdk |
| 使用vim編輯 |
vim /etc/profile
或使用文本編輯器打開(kāi)
修改.bash_profile或者/etc/profile在末尾引入環(huán)境變量,JAVA_HOME的值填寫(xiě)自己解壓包的路徑
export JAVA_HOME=/usr/local/java/jdk1.8.0_341
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib:$CLASSPATH
export JAVA_PATH=${JAVA_HOME}/bin:${JRE_HOME}/bin
export PATH=$PATH:${JAVA_PATH}
完成上述修改后,執(zhí)行命令:
source /etc/profile
或者重啟
輸入命令查看java版本,返回版本信息說(shuō)明環(huán)境變量設(shè)置生效

安裝MySQL
我是在docker環(huán)境部署的MySQL,docker部署框架支持mysql服務(wù)器的簡(jiǎn)單安裝和配置。
一、安裝Docker環(huán)境
#安裝Docker yum install docker -y #啟動(dòng)Docker服務(wù) service docker start
因?yàn)镈ocker在線安裝鏡像是從國(guó)外的DockerHub網(wǎng)站下載文件,所以速度超級(jí)慢,所以我們要給Docker設(shè)置加速器。
我用的是騰訊云主機(jī),所以設(shè)置騰訊云加速器是最快的。
打開(kāi)/etc/docker/daemon.json文件,然后設(shè)置成如下內(nèi)容:
{
"registry-mirrors":["https:mirror.ccs.tencentyun.com"]
}
重新啟動(dòng)Docker服務(wù),加速器才能生效
service docker restart
二、安裝MySQL
利用剛才設(shè)置的加速器,我們可以在線安裝MySQL鏡像,這里我下載8.0.23版本的MySQL數(shù)據(jù)庫(kù)
docker pull mysql:8.0.23
創(chuàng)建容器的時(shí)候,我們需要把MySQL容器內(nèi)的數(shù)據(jù)目錄映射到CentOS系統(tǒng)上面。如果MySQL容器掛掉了,數(shù)據(jù)庫(kù)文件不會(huì)丟失。我們新建一個(gè)MySQL容器,掛載上這個(gè)數(shù)據(jù)目錄就又能正常使用MySQL了。
Docker會(huì)給每個(gè)容器創(chuàng)建一個(gè) 虛擬的網(wǎng)卡,然后分配一個(gè)Docker 內(nèi)網(wǎng)IP地址。假設(shè)A容器部署了MySQL,B容器中的Java程序想要訪問(wèn)A容器的MySQL,JDBC路徑就要寫(xiě)A容器的Docker內(nèi)網(wǎng)IP地址,略顯麻煩。
這次把容器設(shè)置成 host模式,就是不讓Docker為容器創(chuàng)建虛擬網(wǎng)卡,Docker容器直接使用CentOS的網(wǎng)卡,所以A容器中l(wèi)ocalhost代表CentOS,B容器中的localhost也代表CentOS,兩個(gè)容器相互訪問(wèn),URL地址寫(xiě)localhost即可。
例如B容器中JDBC路徑的host寫(xiě)localhost,就能訪問(wèn)到A容器里面的MySQL。
這樣我們部署的若干容器,相互訪問(wèn)就簡(jiǎn)單多了。
MySQL容器我分配內(nèi)存空間是500M,如果將來(lái)覺(jué)得不夠用,刪除容器,再創(chuàng)建新容器的時(shí)候分配更大的內(nèi)存。
而且只要掛載上那些文件目錄,MySQL的數(shù)據(jù)就不會(huì)丟失。
docker run -it -d --name mysql --net=host \ //創(chuàng)建容器名字叫mysql host模式 -m 500m -v /root/mysql/data:/var/lib/mysql \ //分配內(nèi)存500M。做文件夾映射,MySQL默認(rèn)數(shù)據(jù)目錄是/var/lib/mysql 映射到CentOS/root/mysql/data文件夾上 -v /root/mysql/config:/etc/mysql/conf.d \ //映射mysql配置文件 -e MYSQL_ROOT_PASSWORD=abc123456 \ //傳入?yún)?shù),root賬號(hào)的密碼 -e TZ=Asia/Shanghai mysql:8.0.23 //mysql時(shí)區(qū)
\是換行,可以把命令分成多行來(lái)寫(xiě)
修改mysql密碼
進(jìn)入容器并以root用戶登錄
docker exec -it mysql bash mysql -uroot -p abc123456 //修改密碼,與5.7版本不同 ALTER USER 'root'@'localhost' IDENTIFIED WITH MYSQL_NATIVE_PASSWORD BY 'xfx24805861WSQ'; FLUSH PRIVILEGES;
安裝Tomcat

在/usr/local/下創(chuàng)建tomcat文件夾,把壓縮包上傳到該目錄下
tar -xzvf apache-tomcat-9.0.65.tar.gz

啟動(dòng)Tomcat
啟動(dòng)前,可以在tomcat9的conf目錄下,找到server.xml文件修改tomcat的啟動(dòng)端口號(hào)

進(jìn)入tomcat服務(wù)器的bin目錄下輸入命令
./startup.sh

然后就可以通過(guò)ip:port訪問(wèn)tomcat了
如果訪問(wèn)不了,需要查看云服務(wù)器設(shè)置端口號(hào)允許訪問(wèn),我用的是騰訊云,在防火墻中設(shè)置

配置好就可以訪問(wèn)到tomcat了

關(guān)閉Tomcat服務(wù),在bin目錄下執(zhí)行./shutdown.sh命令

打包SpringBoot項(xiàng)目部署到Tomcat
我的項(xiàng)目是打成了war包,放到Tomcat的webapps文件夾中,啟動(dòng)tomcat會(huì)自動(dòng)解壓到同名文件夾,訪問(wèn)路徑也是這個(gè)文件夾名。

想要修改訪問(wèn)路徑,修改conf文件夾中的server.xml配置文件
docBase中的屬性值是原文件夾,path中的屬性值是修改后的訪問(wèn)路徑

最后就可以訪問(wèn)到自己的項(xiàng)目了

總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Spring-Security對(duì)HTTP相應(yīng)頭的安全支持方式
這篇文章主要介紹了Spring-Security對(duì)HTTP相應(yīng)頭的安全支持方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-10-10
Java開(kāi)發(fā)完整短信驗(yàn)證碼功能的全過(guò)程
利用短信驗(yàn)證碼進(jìn)行身份驗(yàn)證是目前互聯(lián)網(wǎng)眾多產(chǎn)品常用的一種方式,那么這種短信驗(yàn)證功能是如何實(shí)現(xiàn)的呢,下面這篇文章主要給大家介紹了關(guān)于Java開(kāi)發(fā)完整短信驗(yàn)證碼功能的相關(guān)資料,需要的朋友可以參考下2021-10-10
關(guān)于Poi讀取Excel引發(fā)內(nèi)存溢出問(wèn)題的解決方法
這篇文章主要給大家介紹了關(guān)于Poi讀取Excel引發(fā)內(nèi)存溢出問(wèn)題的解決方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面跟著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。2017-08-08
Jenkins+maven持續(xù)集成的實(shí)現(xiàn)
這篇文章主要介紹了Jenkins+maven持續(xù)集成的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-04-04
springBoot 創(chuàng)建定時(shí)任務(wù)過(guò)程詳解
這篇文章主要介紹了springBoot 創(chuàng)建定時(shí)任務(wù)過(guò)程詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-10-10
Spring Boot部署到Tomcat過(guò)程中遇到的問(wèn)題匯總
這篇文章主要給大家分享了關(guān)于Spring Boot部署到Tomcat過(guò)程中遇到的一些問(wèn)題,文中將解決的方法介紹非常詳細(xì),對(duì)同樣遇到這個(gè)問(wèn)題的朋友具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。2018-03-03
Java中多線程的ABA場(chǎng)景問(wèn)題分析
這篇文章主要為大家介紹了Java中多線程的ABA場(chǎng)景問(wèn)題分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-12-12
使用Java如何將圖片轉(zhuǎn)成Base64編碼,并壓縮至40k
這篇文章主要介紹了使用Java如何將圖片轉(zhuǎn)成Base64編碼,并壓縮至40k問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-06-06
Java實(shí)現(xiàn)簡(jiǎn)單的RPC框架的示例代碼
本篇文章主要介紹了Java實(shí)現(xiàn)簡(jiǎn)單的RPC框架的示例代碼,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-11-11

