一、下載
tomcat下載鏈接:https://tomcat.apache.org/
1、進入tomcat官網后,選擇需要下載的版本。我使用的是tomcat9,所以在這我選擇tomcat9

2、選擇zip(pgp,sha2,sha512)進行下載,下載zip的好處就是不用安裝 ,直接下載解壓就可以使用了。

3、下載完成。

二、安裝解壓與環境變量配置
1、直接對壓縮包進行解壓。

2、選擇“此電腦”,單擊右鍵,選擇“屬性”,如下圖所示

3、選擇打開屬性后,選擇單擊彈窗左邊的“高級系統設置”。

3、打開‘“高級系統設置”后,單擊“環境變量(N)..”按鈕。

4、對 CATALINA_HOME、Path 這 2 個系統變量分別設置
CATALINA_HOME=D:\ProgramFiles\apache-tomcat-9.0.10
PathPath=%CATALINA_HOME%\lib
%CATALINA_HOME%\lib\servlet-api.jar
%CATALINA_HOME%\lib\jsp-api.jar


5、添加用戶,進入tomcat9的目錄的conf,我這里的路徑是D:\ProgramFiles\apache-tomcat-9.0.0.M26\conf,
選擇“tomcat-users.xml”文件,打開文件后在最后 一行代碼的前面添加如下代碼:
<role rolename="manager-gui"/>
<role rolename="admin-gui"/>
<user username="admin" password="admin" roles="admin-gui"/>
<user username="tomcat" password="admin" roles="manager-gui"/>

6、添加完成后,保存再退出。
7、啟動tomcat測試,打開tomcat目錄下的bin 文件夾,再雙擊startup來啟動tomcat,啟動成功會顯示 start Server startup in 8352 ms

8,打開瀏覽器,在地址欄輸入http://localhost:8080 或 http://127.0.0.1:8080進行打開tomcat的主頁。

9、配置完成。
遇見問題
tomcat 啟動閃退
原因一:
(1)首先要搞明白啟動不起來的原因。方法是在命令行下,運行startup.bat文件,這樣程序就不會一閃而過,而會將啟動不起來的原因打印到窗口上。
(2)在命令行下啟動tomcat的方法讀者應該都很清楚,大體就是:cmd啟動命令行窗口→通過cd命令到tomcat的bin目錄下→運行startup.bat。
(3)通過命令行的提示看到,這是因為電腦上沒有配置JAVA_HOME或者JRE_HOME導致的。那么下面添加上JAVA_HOME和JRE_HOME。具體步驟為計算機→屬性→環境變量,然后添加系統變量;
(4)添加完JAVA_HOME和JRE_HOME兩個系統變量之后,在將這兩個變量放到path系統變量中,方法是,在path變量值的后面直接追加 【;%JAVA_HOME%;%JRE_HOME%】注意!分號是環境變量的分割符號,不可少。
原因二:
雙擊tomcat的bin目錄下的startup.bat時一閃而過時,可以右鍵startup.bat找一個文本編輯器打開,然后在文本的最后敲上pause,保存后重新運行startup.bat,這時候窗口會留在桌面上(調試成功,把pause去掉即可)。我們可以看到DOS窗口里有錯誤信息。
1. The JRE_HOME environment variable is not defined correctly This environment variableis needed to run this program 原因:以前版本的tomcat需要JDK,現在的tomcat(本人的是7.0)只要有JRE就可以。 如果你裝的tomcat的是解壓版的(免安裝的)那么則需要自己手動配置JRE_HOME 這個環境變量,否則,就會出現上面的錯誤。 解決辦法:右擊 我的電腦 - 高級 - 環境變量, 在系統變量中 新建 變量名:JRE_HOME 變量值:C:\Program Files\Java\jre7(根據你自己的JDK安裝目錄尋找JRE)
2.Neither the JAVA_HOME nor the JRE_HOME environment variable is defined Tomcat的startup.bat,它調用了catalina.bat,而catalina.bat則調用了setclasspath.bat,只要在setclasspath.bat的開頭聲明環境變量(紅色兩行)就可以了,原因是后來較新版本安裝完不會自動登記環境變量JAVA_HOME,JRE_HOME。
給setclasspath.bat的開頭添加紅色標記部分,如下: rem ___________________________ rem Set CLASSPATH and Java options rem rem rem ____________________________ set JAVA_HOME=C:\Program Files\Java\jdk1.6.0_20 set JRE_HOME=C:\Program Files\Java\jre6 rem Make sure prerequisite environment variables are set if not “%JAVA_HOME%” == “” goto gotJdkHome if not “%JRE_HOME%” == “” goto gotJreHome echo Neither the JAVA_HOME nor the JRE_HOME environment variable is defined echo At least one of these environment variable is needed to run this program goto exit
這樣在每次運行startup.bat時就自動注冊了JAVA_HOME,JRE_HOME。 運行startup.bat,提示“信息:Server startup in xxxxx ms” OK 大功告成。
3. Cannot find “”d:\apache-tomcat-6.0.32”\bin\setclasspath.bat”
這個時候,可能是CATALINA_HOME的值在某個地方被寫死了,像我的綠色版tomcat在bin文件下多了一個setenv.bat的文件,打開一看果然是在這里面被寫死了CATALINA_HOME的路徑,這應該是為了某種原因被人后加上的設置文件,把這個文件刪除之后,tomcat可以正常運行了。
原因三:
如果你的環境配置沒有錯,也沒有上述兩種錯誤那么可能你已經啟動了一個Tomcat,這樣兩個Tomcat會產生沖突。你可以在com中查看8080是否被占用:
(1)我們可以使用如下命令來找出哪個進程占用5037這個端口
netstat -ano | findstr "5037"
(2)最后一列為占用5037端口的進程號,PID為9060,那么我們可以在任務管理器里查看改進程號所對應的進程,直接右擊結束該進程即可。或者使用上面提到的taskkill命令,它主要是用來批量刪除某些進程,當然,也可以用來刪除一個進程,使用方法如下:
taskkill /PID 9060 /F 其中,/F主要是用來強制刪除。
你也可以查看Tomcat自帶的打印日志在你的Tomcat的logs文件夾下如果出現了
七月 04, 2018 10:40:20 上午 org.apache.catalina.core.StandardService initInternal
嚴重: Failed to initialize connector [Connector[HTTP/1.1-8080]]
org.apache.catalina.LifecycleException: Failed to initialize component [Connector[HTTP/1.1-8080]]
類似的錯誤可能已經運行了一個Tomcat你可以在服務中把它終止掉,然后再運行自己的Tomcat就可以了。
我本地有兩個jdk 7和8 環境變量設置7時 cmd 未提示錯誤信息 但是tomcat還是閃退 所以 我把環境變量設置為8就可以了
