4.61第二個Java應用4.62-63Tomcat的管理功能
阿新 • • 發佈:2019-03-04
第二個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)