天天看點

CentOS 7 ——安裝Tomcat

注意:以Tomcat為例子!

1、安裝JDK

點選檢視CentOS 7 ——安裝Oracle JDK(解除安裝Open JDK,安裝Oracle JDK)

2、下載下傳Tomcat

CentOS 7 ——安裝Tomcat
3、建立目錄

進入目錄:cd /usr/local


建立目錄:mkdir tomcat


檢視目錄:ll 或 ls           

4、解壓tomcat安裝包

tar -zxvf apache-tomcat-7.0.94.tar.gz           

5、修改檔案名(解壓後的檔案名過長,可以考慮修改短)

mv  apache-tomcat-7.0.94 tomcat7           

6、進入tomcat的目錄(根據自己的安裝目錄來)

cd /usr/local/tomcat/tomcat7           

7、進入tomcat執行目錄

cd /usr/local/tomcat/tomcat7/bin           

8、檢視tomcat的運作狀态

ps -ef |grep tomcat           

9、啟動tomcat

./startup.sh           

執行tomcat started,tomcat執行成功

10、關閉tomcat

./shutdown.sh           

解決tomcat執行遇到的問題

1、伺服器防火牆攔截

問題描述:當tomcat啟動成功後,通路web伺服器,請求失敗。導緻失敗的原因之一可能就是防火牆将8080端口或者其他端口攔截掉了,我們需要重新開放8080或者其他端口,不建議關閉防火牆。

(1)檢視防火牆狀态

service iptables status           

(2)添加8080端口允許外網通路

/sbin/iptables -I INPUT -p tcp --dport 8080 -j ACCEPT           

(3)儲存規則設定

service iptables save           

(4)重新開機防火牆

service iptables restart           

啟動tomcat很慢

問題描述:啟動tomcat會用幾分鐘甚至十幾分鐘的時間,這就說明tomcat啟動被某種機制卡住了,後來查資料說是通過随機數生成秘鑰的時候卡住了,導緻Tomcat啟動慢或失敗。因為在tomcat8中,Tomcat的Session ID通過SHA1算法計算得到的,計算Session ID的時候必須有1個秘鑰,為了提高安全性Tomcat在啟動的時候通過随機數生成秘鑰。但是我的版本是tomcat7.0.68,也遇到了類似的問題。解決辦法就是增大熵池(影響随機數的強度的是生成用的熵)。

(1)解決辦法一:使用rngd 軟體增大熵池(推薦)

需要cpu支援 (可不執行)

grep  rdrand /proc/cpuinfo           

安裝rngd服務(熵服務,增大熵池)

yum install rng-tools           

啟動服務

systemctl start rngd           

(2)java環境下修改配置檔案

vim $JAVA_HOME/jre/lib/security/java.security            
securerandom.source=file:/dev/random
改為 
securerandom.source=file:/dev/urandom           

(3)可以通過配置JRE使用非阻塞的Entropy Source(未驗證)

vim $TOMCAT_HOME/bin/catalina.sh           
if [[ "$JAVA_OPTS" !=*-Djava.security.egd=* ]]; then
  JAVA_OPTS="$JAVA_OPTS -Djava.security.egd=file:/dev/urandom"           

總結: 

tomcat防火牆和啟動正常,無法通路tomcat