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

第二個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的管理功能

  • host-manager(管理虛擬主機)
    • 這個功能主要用來管理虛擬主機的,能夠經過這個WEB界面,來中止、啓動以及增長虛擬主機。首先要配置用戶角色:
    # vim conf/tomcat-user.xml // 更改或增長
    	  <role rolename="admin-gui"/>
    	 <role rolename="admin-script"/>
    	  <user username="tomcat" password="tomcat123" roles="admin-		script,admin-gui"/>
    	</tomcat-users>
    • 這裏的admin-gui和admin-script是兩個Tomcat內置的角色,host-manager功能須要這兩個角色的支持。其中admin-gui用於控制頁面訪問權限,admin-script用於控制以簡單的文本的形式進行訪問host-manager。
  • 此時在瀏覽器裏輸入http://ip:8080/host-manager/就能夠訪問到主機管理界面了,但此時還有點問題,會提示403. 這是由於Tomcat還有一個安全的設置,默認不容許這個客戶端IP訪問host-manager頁面,解決辦法是修改配置文件:  #修改完配置文件後需重啓tomcat服務
    # vim webapps/host-manager/META-INF/context.xml 
    	//在allow那一行增長白名單IP,若是是網段用*表示,例如192.168.204.*
    	allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1|192.168.18.*"
  • 咱們能夠經過這個WEB界面來增長、中止以及啓動虛擬主機,很是方便。增長virtualhost,會在conf/Catalina/目錄下生成一個目錄,目錄永久存在,但virtualhost臨時的,重啓服務後會消失,可讓其永久保存到server.xml,但須要在server.xml裏增長,以下配置
    <Listener className="org.apache.catalina.storeconfig.StoreConfigLifecycleListener"/>
    • 若是出現403,則要新增長角色:admin-gui, admin-script
  • Manager(部署)
    • 其實在host-manager界面裏,點擊右側的"Server Status"按鈕就會跳轉到Manager界面裏,要想成功訪問一樣須要配置tomcat-user.xml以及webapps/manager/META-INF/context.xml兩個配置文件:
    # vim conf/tomcat-user.xml //更改或增長
    	  <role rolename="manager-gui"/>
    	 <role rolename="manager-script"/>
    	 <role rolename="manager-jmx"/>
    	  <role rolename="manager-status"/>
    	  <user username="tomcat" password="tomcat123" roles="manager-gui,manager-scripts,manager-jmx,manager-status"/>
    	</tomcat-users>
  • 其中manager-gui用於控制manager頁面的訪問,manager-script 用於控制以簡單的文本的形式進行訪問manager,manager-jmx用於控制jmx訪問,manager-status用於控制服務器狀態的查看。而後編輯webapps/manager/META-INF/context.xml:
# vim webapps/manager/META-INF/context.xml 
//在allow那一行增長白名單IP,若是是網段用*表示,例如192.168.100.*
allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1|192.168.204.*"

相關文章
相關標籤/搜索