1. 程式人生 > >Java Web專案部署至Linux伺服器的步驟及問題詳解

Java Web專案部署至Linux伺服器的步驟及問題詳解

        部門接手公司內部需求的一個小專案,從設計到研發自主完成,期間遇到了不少困難。部署過程也是坎坷,特此寫篇文章記錄一下,也為新手們填個坑~高手請跳過~~

一、部署環境搭建(此步驟參考

        本人使用的公司內建的伺服器,如有需求,可使用阿里雲等雲服務商的雲主機,購買過程什麼的就不說了,各位可以自行百度。下面主要介紹Java Web執行環境的搭建。

1、安裝JDK

step1:下載JDK,由於部署的伺服器是linux,所以選擇x86的tar.gz包;下載完成後傳到linux的目錄下(本人放置的目錄為/usr/java)

step2:解壓jdk的tar檔案到指定的目錄

step3:配置環境變數

vi /etc/profile

新增如下程式碼

#set java environment
export JAVA_HOME=/usr/java/jdk/jdk1.8.0_161
export JRE_HOME=/usr/java/jdk/jdk1.8.0_161/jre
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$JAVA_HOME:$PATH

儲存後執行

source /etc/profile

step4:驗證安裝是否成功

輸入

java -version

出現如下介面即說明安裝成功


2、安裝Tomcat

step1:下載Tomcat,上傳至伺服器的相關目錄下(本人的是/usr/java/tomcat)

step2:解壓tomcat的tar檔案到指定的目錄

tar zxvf  apache-tomcat-7.0.85

step3:配置Tomcat環境

進入Tomcat資料夾的bin目錄下,開啟setclasspath.sh

vi setclasspath.sh

新增路徑

export JAVA_HOME=/usr/java/jdk/jdk1.8.0_161
export JRE_HOME=/usr/java/jdk/jdk1.8.0_161/jre

儲存後返回bin目錄下執行

./startup.sh 

step4:驗證安裝是否成功

出現如下介面說明安裝成功


或輸入IP:8080訪問


至此部署環境就搭建好了,下面介紹將java web部署至伺服器

二、上傳Java Web專案

1、有幾種部署方式,本文介紹是最簡單的靜態部署方式:直接將W eb專案檔案拷貝到webapps目錄中,其他部署方式請參見:Tomcat部署方式

2、上傳方式

Step1:使用eclipse打包war包,右鍵專案-Export-WAR file


選擇路徑,一般而言不選擇Export  source file


Step2:上傳至tomcat的webapps下,會自動解壓


step3:訪問http://IP:8080/TEST(專案名)即可


三、部署問題詳解

部署會出現各種各樣的問題,解決的話要看tomcat的log資訊,根據報錯解決;其中有個log檔案比較重要

檢視catalina.out

cat catalina.out

以下是我本次部署遇到的問題

1、靜態頁面可正常顯示,凡是涉及資料庫互動的頁面均報錯(本地程式無錯誤)

報錯:java.net.BindException


解決方法:該問題是8005埠被佔用,去Tomcat的tomcat/conf/server.xml中修改埠至未被使用的8006,然後重啟Tomcat即可


2、資料庫連線超時(此解決方法參考

報錯:


解決方法:該錯誤是由於MySql連線超時所致,在JDBC連線程式碼加入即可

?autoReconnect=true&autoReconnectForPools=true

四、部署更新(此步驟參考

Step1: 停止tomcat 

Step2: 清理tomcat下,webapps的war包解壓目錄、war包

Step3:上傳新的war包

Step4:啟動tomcat


五、修改配置檔案使得通過訪問域名可以直接訪問主頁

Step1:修改web.xml使得輸入IP和埠號和專案名可直接訪問專案主頁


Step2:修改server.xml使得tomcat的8080埠變為域名預設埠80


Step3:修改server.xml使得tomcat預設為當前專案

在<Host></Host>內新增

<Context docBase="test" path="/" reloadable="true" source="org.eclipse.jst.jee.server:LeanFileUpload"/>


這樣就大功告成啦~~~