第二個Java應用
Tomcat的管理功能
第二個Java應用
- 在搭建好了JDK環境安裝了一個zrlog博客後,若是在該環境中須要Java應用,有如下兩種方法可實現。
方法一:編輯Tomcat配置文件
vi /usr/local/tomcat/conf/server.xml
<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服務
cd /usr/local
cp -r tomcat/ 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 #再開啓
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.*"