linux centos7安裝tomcat7以及遇到坑的解決辦法
前言:最近買了一個阿里雲伺服器準備安裝tomcat做web容器,之前安裝tomcat是so easy的事情,這次安裝卻遇到了很多個坑,再次總結一下,避免以後自己再出現同樣的錯誤。
一、安裝tomcat
1 下載tomcat
2 安裝tomcat
安裝好jdk後,同時也下載好tomcat安裝包,使用ftp功能將安裝包放入指定的目錄下,例如:/usr/local
(1)進入目錄
cd /usr/local
(2)建立目錄
mkdir tomcat
(3)檢視目錄
ll 或 ls
(4)解壓tomcat安裝包
tar -zxvf apache-tomcat-7.0.68.tar.gz
(5)刪除tomcat安裝包(如果需要)
rm -rf apache-tomcat-7.0.68.tar.gz
(6)修改檔名(解壓後的檔名過長,可以考慮修改短)
mv apache-tomcat-7.0.68 tomcat7
(7)進入tomcat的目錄(根據自己的安裝目錄來)
cd /usr/local/tomcat/tomcat7
3 執行tomcat
(1)進入tomcat執行目錄
cd /usr/local/tomcat/tomcat7/bin
(2)檢視tomcat的執行狀態
ps -ef |grep tomcat
- 1
(3)啟動tomcat
./startup.sh
(4)關閉tomcat
./shutdown.sh
(5)訪問伺服器ip地址
二、解決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
2 啟動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"
fi
這個系統屬性egd表示熵收集守護程序(entropy gathering daemon)
總結: tomcat啟動慢可能我們開始不會注意到,我們測試的時候開啟tomcat正常,關閉tomcat的時候出錯,說明程序未關閉(預設8005程序),我們通常會使用kill -9 程序號殺掉程序。如果經常出現tomcat關閉異常這個問題,可能就是我們tomcat啟動過慢導致的。
3 tomcat防火牆和啟動正常,無法訪問tomcat
問題描述:這個是我遇到最大的坑,防火牆正常,tomcat啟動正常,但是就是一直無法訪問。因為我使用的是阿里雲的伺服器,我設定了安全組,導致從阿里雲伺服器一直攔截我的埠,這裡就要重新設定你的安全組規則。重新設定安全組,開放8080或其他埠即可正常訪問。
阿里雲新增安全組規則文件:新增安全組規則
--------------------- 本文來自 天才小小布 的CSDN 部落格 ,全文地址請點選:https://blog.csdn.net/w410589502/article/details/77988912?utm_source=copy