Linux服務器如何部署java項目
安裝JDK
我下載的是 jdk-8u341-linux-x64.tar.gz
一、上傳
在/usr/local中創(chuàng)建java文件夾
mkdir /usr/local/java
把JDK上傳到java目錄下
可以用ls命令查看一下
二、解壓
輸入命令
tar -xzvf jdk-8u341-linux-x64.tar.gz
jdk-8u341-linux-x64.tar.gz是我下載的JDK文件名,此處輸入自己下載對應的文件名,解壓之后可以看到/usr/local/java目錄下多出了一個文件夾
解壓之后JDK的安裝包可以刪掉
三、配置JAVA環(huán)境變量
java命令測試,直接輸入java,出現(xiàn)-bash:java:command nor found說明沒有配置java環(huán)境變量
需要配置的環(huán)境變量
項目 | Value | 備注 |
---|---|---|
PATH | 指定命令搜索路徑,shell執(zhí)行命令時會到PATH所指定的路徑中查看能否找到命令程序 | jdk的/bin中包含經(jīng)常要訪問的javac、java、javadoc等命令,設置后可以在任何目錄下執(zhí)行該命令 |
CLASSPATH | 指定類搜索路徑,JVM通過CLASSPATH來尋找類 | 設置jdk的/lib中的dt.jar和tools.jar以及當前目錄"."給CLASSPATH |
JAVA_HOME | 指向jdk安裝目錄 | Eclipse、NetBeans、Tomcat等軟件會通過JAVA_HOME來使用jdk |
使用vim編輯 |
vim /etc/profile
或使用文本編輯器打開
修改.bash_profile
或者/etc/profile
在末尾引入環(huán)境變量,JAVA_HOME的值填寫自己解壓包的路徑
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版本,返回版本信息說明環(huán)境變量設置生效
安裝MySQL
我是在docker環(huán)境部署的MySQL,docker部署框架支持mysql服務器的簡單安裝和配置。
一、安裝Docker環(huán)境
#安裝Docker yum install docker -y #啟動Docker服務 service docker start
因為Docker在線安裝鏡像是從國外的DockerHub網(wǎng)站下載文件,所以速度超級慢,所以我們要給Docker設置加速器。
我用的是騰訊云主機,所以設置騰訊云加速器是最快的。
打開/etc/docker/daemon.json
文件,然后設置成如下內(nèi)容:
{ "registry-mirrors":["https:mirror.ccs.tencentyun.com"] }
重新啟動Docker服務,加速器才能生效
service docker restart
二、安裝MySQL
利用剛才設置的加速器,我們可以在線安裝MySQL鏡像,這里我下載8.0.23版本的MySQL數(shù)據(jù)庫
docker pull mysql:8.0.23
創(chuàng)建容器的時候,我們需要把MySQL容器內(nèi)的數(shù)據(jù)目錄映射到CentOS系統(tǒng)上面。如果MySQL容器掛掉了,數(shù)據(jù)庫文件不會丟失。我們新建一個MySQL容器,掛載上這個數(shù)據(jù)目錄就又能正常使用MySQL了。
Docker會給每個容器創(chuàng)建一個 虛擬的網(wǎng)卡,然后分配一個Docker 內(nèi)網(wǎng)IP地址。假設A容器部署了MySQL,B容器中的Java程序想要訪問A容器的MySQL,JDBC路徑就要寫A容器的Docker內(nèi)網(wǎng)IP地址,略顯麻煩。
這次把容器設置成 host模式,就是不讓Docker為容器創(chuàng)建虛擬網(wǎng)卡,Docker容器直接使用CentOS的網(wǎng)卡,所以A容器中l(wèi)ocalhost代表CentOS,B容器中的localhost也代表CentOS,兩個容器相互訪問,URL地址寫localhost即可。
例如B容器中JDBC路徑的host寫localhost,就能訪問到A容器里面的MySQL。
這樣我們部署的若干容器,相互訪問就簡單多了。
MySQL容器我分配內(nèi)存空間是500M,如果將來覺得不夠用,刪除容器,再創(chuàng)建新容器的時候分配更大的內(nèi)存。
而且只要掛載上那些文件目錄,MySQL的數(shù)據(jù)就不會丟失。
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默認數(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賬號的密碼 -e TZ=Asia/Shanghai mysql:8.0.23 //mysql時區(qū)
\是換行,可以把命令分成多行來寫
修改mysql密碼
進入容器并以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
啟動Tomcat
啟動前,可以在tomcat9的conf目錄下,找到server.xml文件修改tomcat的啟動端口號
進入tomcat服務器的bin目錄下輸入命令
./startup.sh
然后就可以通過ip:port訪問tomcat了
如果訪問不了,需要查看云服務器設置端口號允許訪問,我用的是騰訊云,在防火墻中設置
配置好就可以訪問到tomcat了
關閉Tomcat服務,在bin目錄下執(zhí)行./shutdown.sh命令
打包SpringBoot項目部署到Tomcat
我的項目是打成了war包,放到Tomcat的webapps文件夾中,啟動tomcat會自動解壓到同名文件夾,訪問路徑也是這個文件夾名。
想要修改訪問路徑,修改conf文件夾中的server.xml配置文件
docBase中的屬性值是原文件夾,path中的屬性值是修改后的訪問路徑
最后就可以訪問到自己的項目了
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
SpringDataElasticsearch與SpEL表達式實現(xiàn)ES動態(tài)索引
這篇文章主要介紹了SpringDataElasticsearch與SpEL表達式實現(xiàn)ES動態(tài)索引,文章圍繞主題展開詳細的內(nèi)容介紹,具有一定的參考價值,需要的朋友可以參考一下2022-09-09SpringFox實現(xiàn)自動生成RESTful?API文檔
在開發(fā)?RESTful?API?時,編寫?API?文檔是一個重要的任務,這篇文章為大家介紹了如何使用?SpringFox?自動生成?RESTful?API?文檔,并提供示例代碼,需要的可以參考一下2023-06-06java?String到底有多長?String超出長度該如何解決
在Java中,由于字符串常量池的存在,String常量長度限制取決于String常量在常量池中的存儲大小,下面這篇文章主要給大家介紹了關于java?String到底有多長?String超出長度該如何解決的相關資料,需要的朋友可以參考下2023-01-01SpringBoot之spring.factories的使用方式
這篇文章主要介紹了SpringBoot之spring.factories的使用方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-01-01Springboot 整合 Java DL4J 實現(xiàn)智能客服功能
本文主要介紹了如何使用SpringBoot整合JavaDeeplearning4j來構(gòu)建一個智能客服系統(tǒng),詳細探討了神經(jīng)網(wǎng)絡選擇、數(shù)據(jù)集格式、技術(shù)介紹、Maven依賴、代碼示例等內(nèi)容,為構(gòu)建高效、便捷、個性化的客戶服務提供了理論支持和實踐指導2024-10-10