Linux雲服務器下Tomcat部署

Linux雲服務器下Tomcat部署

  • 以阿里雲下centos_7爲例
  • 工具:
    • 一臺安裝centos_7_06_64_20G_alibase_20190218.vhd的雲服務器(64位)
    • 一臺安裝了MobaXterm工具的電腦
    • MobaXterm:
      • ssh遠程連接雲服務器的軟件
      • 本地機與服務器文件互傳的軟件

步驟一、連接雲服務器

  • 安裝MobaXterm
  • 點擊Session 選擇SSH 輸入Remote host(服務器外網地址)
  • OK、然後輸入用戶名密碼連接服務器
  • 創建基礎目錄 /usr/local/environment/
    -查看並進入environment目錄
    cd /usr/local/environment/

步驟二、安裝JDK

  • 下載 jdk-8u201-linux-x64.tar.gz 文件
  • 使用MobaXterm上傳至environment目錄下
  • 解壓jdk-8u201-linux-x64.tar.gz tar -zxvf jdk-8u201-linux-x64.tar.gz
  • 修改名稱 mv jdk-8u201-linux-x64 jdk8
  • 配置環境變量
    • 打開/etc/目錄下的profile 文件:
      vim /etc/profile
    • 將如下代碼追加到 profile 文件末尾:
      #jdk8 config start - 2019年9月13日
      export JAVA_HOME=/usr/local/environment/jdk8
      export PATH=$JAVA_HOME/bin:$PATH
      #jdk8 config end - 2019年9月13日
      
    • Esc 鍵、輸入 :wq回車,保存並退出。
    • 啓用新的配置 source /etc/profile
  • 查看java版本 java -version

步驟三、安裝Tomcat

  • 下載apache-tomcat-9.0.17.tar.gz文件(Core下的tar.gz)
  • 使用MobaXterm上傳至environment目錄下
  • 在tools目錄解壓縮tar -zxvf apache-tomcat-9.0.17.tar.gz
  • 修改名稱 mv apache-tomcat-9.0.17 tomcat9
  • 配置Tomcat環境變量
    • 打開/etc/目錄下的profile 文件:
      vi /etc/profile
    • 將如下代碼追加到 profile 文件末尾:
      #tomcat9 config start - 2019年9月13日
      export TOMCAT_HOME=/usr/local/environment/tomcat/tomcat9
      export CATALINA_HOME=/usr/local/environment/tomcat/tomcat9
      #tomcat9 config end - 2019年9月13日
      
      
    • Esc 鍵、輸入 :wq回車,保存並退出。
    • 啓用新的配置 source /etc/profile
  • 輸入startup.sh運行tomcat 輸入網址查看

配置(自選)

  • 配置可視化manager頁面權限
<role rolename="manager-gui"/>
  <role rolename="manager-script"/>
  <user username="teAdmin" password="1761ZAxscdvf!" roles="manager-gui,manager-script"/>

  • 修改 tomcat 的端口號和字符編碼
    • 進入到 /root/tools/tomcat9/conf 目錄中
    • 打開 tomcat 服務的配置文件 server.xml
    • 找到如下代碼
      <Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
    • 將其中的 8080 改成 HTTP 協議的默認端口 80,改後的代碼如下
      <Connector port="80" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />

分割線


我遇到的問題以及解決

一、CentOS7下Tomcat啓動慢的原因及解決方案

  • 現象:CentOS 7系統中安裝Tomcat,啓動過程很慢,需要幾分鐘
  • 經過查看日誌:tomcat目錄下使用 tail -f logs/catalina.out發現耗時是session引起的隨機數問題導致的。
  • 分析結果:主要原因是沒有足夠的熵來生成隨機數,導致卡住了,所以tomcat啓動很慢。

解決方案

  • 方案一:
    vim $JAVA_HOME/jre/lib/security/java.security
    securerandom.source=file:/dev/random
    改爲
    securerandom.source=file:/dev/urandom
    
  • 方案二:
    vim $TOMCAT_HOME/bin/catalina.sh
    if [[ "$JAVA_OPTS" != *-Djava.security.egd=* ]]; then
        JAVA_OPTS="$JAVA_OPTS -Djava.security.egd=file:/dev/urandom"
    fi
    
    這個系統屬性egd表示熵收集守護進程(entropy gathering daemon)。
  • 方案三(本人採用):
    yum install rng-tools # 安裝rngd服務(熵服務,增大熵池)
    systemctl start rngd  # 啓動服務
    

題外話

  • Tocmat的Session ID是通過SHA1算法計算得到的,計算Session ID的時候必須有一個密鑰。爲了提高安全性Tomcat在啓動的時候回通過隨機生成一個密鑰。
  • 是否有足夠的熵來用於產生隨機數,可以通過如下命令來查看
    [root@tomcat tools]# cat /proc/sys/kernel/random/entropy_avail 7
  • 爲了加速/dev/random提供隨機數的速度,你可以通過操作設備的外設,讓其產生大量的中斷(如網絡傳輸數據,按鍵,移動鼠標,在命令行敲幾個不同的命令,俗稱聚氣。
  • cat /dev/random 會消耗能量。

注意: 以上內容整理自:地主家的長工,轉載請註明原出處!

二、No such file or directory錯誤

JAVA_HOME=/root/specil/jdk/jdk1.8.0_201
JRE_HOME=$JAVA_HOME/jre

Permission denied錯誤
權限
chmod u+x *.sh

  • 發生tomcat-x.x.x/logs/catalina.out: No such file or directory錯誤

  • 報錯原因:在建立catalina.out文件時沒有logs這個目錄所以報錯了,我們需要手工建立logs目錄

      mkdir logs
    

#停止firewall
systemctl stop firewalld.service

#開啓firewall
systemctl start firewalld.service

#禁止firewall開機啓動
systemctl disable firewalld.service

#查看默認防火牆狀態(關閉後顯示not running,開啓後顯示running)
firewall-cmd --state

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章