1. 程式人生 > >4.61第二個Java應用4.62-63Tomcat的管理功能

4.61第二個Java應用4.62-63Tomcat的管理功能

浪費了“黃金五年”的Java程式設計師,還有救嗎? >>>   

第二個Java應用

Tomcat的管理功能

第二個Java應用

  • 在搭建好了JDK環境安裝了一個zrlog部落格後,如果在該環境中需要Java應用,有以下兩種方法可實現。

方法一:編輯Tomcat配置檔案

vi /usr/local/tomcat/conf/server.xml
  • 在配置檔案zhon中新增如下內容
<Host name="域名"  appBase="/data/wwwroot/域名"
      unpackWARs="true" autoDeploy="true">
</Host>
  • /data/www.root/域名無需手動建立,在Tomcat重啟之後該目錄會自動被建立好。
  • 重啟Tomcat
/usr/local/tomcat/bin/shutdown.sh   #先關閉
/usr/local/tomcat/bin/startup.sh    #再開啟 
  • 還是用zrlog為例,將zrlog.war包copy到生成的域名目錄下
cp /usr/local/tomcat/webapps/zrlog-2.1.0.war /data/wwwroot/域名
  • 拷貝完了之後war檔案會自動解壓成目錄,這時需要把war檔案刪掉,否則我們一旦把目錄改了名字,war包又會自動解壓。將zrlog-2.1.0目錄改名為ROOT
{root@www 域名}mv zrlog-2.1.0 ROOT; rm -f zrlog-2.1.0.war
  • 這時候再從瀏覽器訪問又可以訪問到新的zrlog站點了#須指定埠8080

 方法二:再啟動一個Tomcat服務

  • 複製Tomcat目錄,並重命名為tomcat_2
cd /usr/local
cp -r tomcat/  tomcat_2
  • 修改Tomcat_2中的配置檔案
vim tomcat_2/conf/server.xml
  • 修改配置檔案中的三個埠,(8009埠可以刪掉,8005埠可以改為8006,8080埠可以改為8081),因為方法一中新增過內容,需要把那些內容刪掉。
  • 重啟tomcat_2服務
/usr/local/tomcat_2/bin/shutdown.sh   #先關閉
/usr/local/tomcat_2/bin/startup.sh    #再開啟
  • 將8081埠加入防火牆規則
firewall-cmd --add-port=8081/tcp --permanent
在過載防火牆
firewall-cmd --reload

補充常識

通過java.security.SecureRandom生成隨機數來實現,隨機數演算法使用的是"SHA1PRNG",這個演算法的提供者在底層依賴到作業系統提供的隨機資料,在linux上,與之相關的是/dev/random和/dev/urandom。

/dev/random裝置會返回小於熵池噪聲總數的隨機位元組。/dev/random可生成高隨機性的公鑰或一次性密碼本。若熵池空了,對/dev/random的讀操作將會被阻塞,直到收集到了足夠的環境噪聲為止,而 /dev/urandom 則是一個非阻塞的發生器。它是/dev/random的一個副本,它會重複使用熵池中的資料以產生偽隨機資料。這表示對/dev/urandom的讀取操作不會產生阻塞,但其輸出的熵可能小於/dev/random。

總之,8005埠啟動慢就是因為JVM呼叫了系統的/dev/random裝置生成隨機數,而/dev/random生成隨機數時被block了,自然就會導致8005埠啟動慢,解決辦法是不使用/dev/random,而是使用/dev/urandom。具體步驟如下:

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

$JAVA_HOME在哪裡?
如果是openjdk(yum安裝的),在/usr/lib/jvm/
如果是下載的二進位制包,就是jdk的主目錄(如/usr/local/jdk_1.8)

Tomcat的管理