1. 程式人生 > >Linux之centos7.3安裝tomcat7

Linux之centos7.3安裝tomcat7

1.使用filezilla軟體將tomcat7的安裝包上傳到Linux主機的指定資料夾下

2.解壓tomcat安裝包,複製到/usr/local目錄下

cp -r apache-tomcat-7.0.68 /usr/local/tomcat7

3.編輯profile配置檔案,配置tomcat7的配置資訊

vim /etc/profile

4.在jdk的配置後面加上如下:

export TOMCAT_HOME=/usr/local/tomcat7
export CATALINA_HOME=/usr/local/tomcat7

5.重新載入profile配置檔案

source /etc/profile

6.如果使用的阿里雲伺服器 需要在阿里雲伺服器的控制檯:

放行8080埠號

7.如果是在自己電腦上裝的虛擬機器 則需要

①編輯防火牆配置檔案:

vim /ect/sysconfig/iptables

②複製22埠的放行,改為放行8080

-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT

③重新啟動防火牆

service iptables restart

8.啟動tomcat伺服器,在tomcat的bin目錄下輸入:

使用命令 ./startup.sh 啟動
使用命令 ./shutdown.sh 關閉服務

9.在客戶機的瀏覽器中輸入:

linux主機ip:8080  如果出現廣告頁則表示安裝成功


10.如果訪問失敗檢視Tomcat的日誌,如果tomcat啟動以後卡在INFO:Deploying web application directory(解決辦法來源:https://blog.csdn.net/njchenyi/article/details/46641141?tdsourcetag=s_pcqq_aiomsg

tomcat啟動以後卡在INFO: Deploying web application directory ......這句話,具體會卡多久就沒測試了。google、baidu都沒找到解決方法。

幸虧UCloud的技術支援人員給出瞭解決方案。

找到jdk1.x.x_xx/jre/lib/security/java.security檔案,在檔案中找到securerandom.source這個設定項,將其改為:

securerandom.source=file:/dev/./urandom

這時候根據修改內容就可以查到因為此原因不僅可以造成tomcat卡住,也會造成weblogic啟動緩慢,


linux或者部分unix系統提供隨機數裝置是/dev/random 和/dev/urandom ,兩個有區別,urandom安全性沒有random高,但random需要時間間隔生成隨機數。jdk預設呼叫random。


再後來,終於在weblogic的官方文件中 Monitoring and Troubleshooting 找到了 Avoiding JVM Delays Caused By Random Number Generation 這樣一個標題。摘錄如下:

The library used for random number generation in Sun's JVM relies on /dev/random by default for UNIX platforms. This can potentially block the Oracle WebLogic Communication Services process because on some operating systems /dev/random waits for a certain amount of "noise" to be generated on the host machine before returning a result. Although /dev/random is more secure, Oracle recommends using /dev/urandom if the default JVM configuration delays Oracle WebLogic Communication Services startup.

To determine if your operating system exhibits this behavior, try displaying a portion of the file from a shell prompt:

head -n 1 /dev/random
Open the $JAVA_HOME/jre/lib/security/java.security file in a text editor.

Change the line:

securerandom.source=file:/dev/random
to read:

securerandom.source=file:/dev/urandom
Save your change and exit the text editor.
其中說到:可通過 head -n 1 /devrandom 檢視是否你的系統會出現偽隨機數提供等待。OK就這個,試了一下,果然,在伺服器第一次啟動後,這個可以快速提供一個值,但當再次呼叫時發生等待。
解決辦法:
永久:oracle 說修改 $JAVA_HOME/jre/lib/security/java.security 檔案,替換securerandom.source=file:/dev/random 為 securerandom.source=file:/dev/urandom。對所有使用JVM的應用生效。(這個永久的方法,這裡面有個問題,就是設定時候實際應該設定為securerandom.source=file:/dev/./urandom,否則不生效)
DOMAIN臨時:修改startWeblogic.sh檔案,JAVA_OPTIONS="${SAVE_JAVA_OPTIONS} -Djava.security.egd=file:/dev/./urandom"
後繼的SecureRandom 測試學習
編寫JAVA類如下,執行測試,第一次正常,第二次等待,重啟伺服器後第一次又正常。啟動加入引數 -Djava.security.egd=file:/dev/./urandom 正常