在Windows Server 2008 R2要把Tomcat安裝成服務時,不知為什遭遇到很多問題,可我花了好一番功夫才解決呢,特將安裝步驟與遭遇的問題整理如下囉,供大家參考
除OS外的相關軟體
- Tomcat使用免安裝版(apache-tomcat-5.5.33)
- Jdk也請裝x64(jdk-1_5_0_15-windows-amd64)
一、先裝Jdk與Tomcat吧,安裝完Jdk後,記得要去環境變數設JAVA_HOME
二、移至tomcat\bin目錄,將 tomcat5.exe 重新命名為 tomcat5.exe.32
三、從tomcat\bin\x64目錄中,將 tomcat5.exe 覆蓋到 tomcat\bin目錄下
我看有人會去下列網址下載 x64的tomcat5.exe也是可以的,我自己測試過拿6.x的裝在5.x的也沒問題喔
四、切換至tomcat\bin目錄,並且輸入下列指令,來安裝新的 64 位元服務:
service.bat install
五、確認服務安裝無誤後,執行 tomcat\bin\tomcat5w.exe,以配置服務
- Java頁籤
3.Initial/Maximum memory pool設大一點,預設有點小
- Startup/Shutdown頁籤
六、按Start啟動服務吧
七、若服務啟動成功,測試一下Tomcat首頁能不能連囉,建議在遠端用IP連結測試,萬一R2防火牆沒關閉,也可能沒法連喔
http://ip:8080/
八、檢查一下tomcat\logs裡面的相關log有沒有異常的資訊,像我就看到下面兩個異常的資訊
- The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path...
- ...tcnative-1.dll:Can't load IA 32-bit .dll on a AMD 64-bit platform ...
這錯誤是要你裝x64的tcnative-1.dll,我是直接從tomcat\bin\x64下拷貝tcnative-1.dll,然後覆蓋tomcat\bin\下的,然後重啟tomcat即可
我看有人是去Index of /dist/tomcat/tomcat-connectors/native下載最新的tcnative-1.dll囉,也是可以的
九、再檢查一下tomcat\logs裡面的log,應該沒有異常資訊了
十、 這時候怪事發生了,在遠端用http://ip:8080/連竟然出現下列錯誤
Internet Explorer 無法顯示網頁
十一、為了除錯,我想看tomcat的連線記錄,不過這預設是沒開啟的,要修改tomcat\conf\server.xml,把access log這段的註解拿掉,記得再重啟tomcat十二、遠端用http://ip:8080/再連一次,一樣無法顯示網頁,檢查localhost_access_log竟然沒有任何連線紀錄,我只好在本機用http://ip:8080/連連看,一樣不行,不過http://localhost:8080/竟然可以連,很詭異吧,再檢查一下localhost_access_log,發現有連線紀錄了,如下圖
"::1"不是IPv6的local位址嗎!(如果你去檢查hosts檔案,會發現"::1"與localhost對應喔),這樣感覺像是IPv6與IPv4的問題,用netstat檢查一下監聽那些port,如下圖
8080 port竟然只監聽IPv6的,而80 port的IPv6與IPv4都有監聽,難怪用http://ip:8080無法連啊
解決辦法就是限定8080 port只走IPv4,反正目前用不到IPv6,去修改server.xml ,在connector的標籤裡加上'address="0.0.0.0"'即可,如下圖
改完記得重啟tomcat喔,然後再用netstat檢查一下,有監聽IPv4的8080囉
十三、用http://ip:8080再連一次,沒有問題
0 意見:
張貼留言