安裝 JSP 環境 - tomcat *

tomcat 可讓 Linux 支援 JSP 的環境,系統必須先安裝 Sun 的 J2SDK 之後,再安裝 tomcat。而 tomcat 已是一個可獨立執行的網頁伺服器,也可以跟 apache 相結合。

安裝 Java

從本站下載 J2SDK 的安裝檔到 [/tmp],並執行安裝:

cd /tmp
wget http://www.vixual.net/download/source/jsp/j2sdk-1_4_1_02-fcs-linux-i586.rpm
rpm -ivh j2sdk-1_4_1_02-fcs-linux-i586.rpm

安裝 tomcat

  • 從本站下載 tomcat 4.1.24 的原始檔到 [/var],並解壓縮:
  • cd /var
    wget http://www.vixual.net/download/source/jsp/jakarta-tomcat-4.1.24.tar.gz
    tar -xzvf jakarta-tomcat-4.1.24.tar.gz
    mv jakarta-tomcat-4.1.24 tomcat
  • 將 Java 及 tomcat 的相關路徑加到環境變數,請編輯 /etc/profile,在檔案最下方加入:
  • PATH=$PATH:/usr/java/j2sdk1.4.1_02/bin
    export JAVA_HOME=/usr/java/j2sdk1.4.1_02
    export CLASSPATH=$JAVA_HOME/lib
    export CATALINA_HOME=/var/tomcat
  • 重新載入 /etc/profile:
  • source /etc/profile
  • 啟動 tomcat:
  • /var/tomcat/bin/startup.sh
  • 安裝成功,連結網址: http://host.example.com:8080/
  • 啟動與停止 tomcat

  • 啟動 tomcat:
  • /var/tomcat/bin/startup.sh
  • 停止 tomcat:
  • /var/tomcat/bin/shutdown.sh

    變更監聽埠

    tomcat 預設的監聽埠是 “8080″,如果要拿它來取代 apache,只要編輯 /var/tomcat/conf/server.xml,找到 port=”8080″,將它改成 prot=”80″ 或其它埠號,然後重新啟動即可。

    但原則上,因為 tomcat 的伺服器除了提供 JSP 支援外,其它功能較為薄弱,所以不建議取代 apache,比較好的作法是將 tomcat 整合到 apache。

    將 tomcat 整合到 apache

  • 編輯 /etc/httpd/conf/httpd.conf,在最下方加入:
  • LoadModule jk_module modules/mod_jk.so
    JkWorkersFile /etc/httpd/conf/workers.properties
    JkLogFile /etc/httpd/logs/mod_jk.log
    JkLogLevel info
    JkLogStampFormat "[%a %b %d %H:%M:%S %Y] ”
    JkMount /*.jsp ajp13
    JkMount /servlet/* ajp13
    Include /etc/httpd/conf/mod_jk.conf
  • 從本站下載 mod_jk 的原始檔到 [/etc/httpd],並解壓縮:
  • cd /etc/httpd
    wget http://www.vixual.net/download/source/jsp/mod_jk.tgz
    tar -xzvf mod_jk.tgz
  • 重新啟動 tomcat 及 apache:
  • /var/tomcat/bin/shutdown.sh
    service httpd restart
    /var/tomcat/bin/startup.sh
    如果在重新啟動 httpd 時,有出現 mod_jk.so 的警告訊息,請至 http://jakarta.apache.org/builds/jakarta-tomcat-connectors/jk/release/v1.2.3/bin/linux/ 下載符合你的 Apache 版本的模組,更改檔名為 “mod_jk.so”,然後存放到 [/etc/httpd/modules] (本站使用的是 “mod_jk.so.ap1.3.27-eapi.rh72″)。

    整合之後的存取狀況

    apache 與 tomcat 整合之後,如果用瀏覽器存取網頁,會有四種狀況:

  • 如果存取 http://host.example.com/examples/ 下的任何檔案,它等於是存取本機 [/var/tomcat/webapps/examples] 下的檔案 (因為這部份有宣告在 mod_jk.conf)。
  • 如果存取的是 http://host.example.com/*.jsp ,則會變成是存取本機 [/var/tomcat/webapps/ROOT] 下的 *.jsp (因為這部份也有宣告在 httpd.conf)。
  • 如果存取的是 http://host.example.com/other_path/*.jsp ,則會變成是存取本機 [/var/tomcat/webapps/other_path] 或 [/var/tomcat/webapps/ROOT/other_path] 下的 *.jsp。
  • 但如果存取的是 http://host.example.com/examples/ 之外非 *.jsp 的檔案,則它又會變成是存取本機 [/var/www/html] 內的檔案。
  • 所以,為了避免搞亂,應該把 *.jsp 及相關的檔案存放在同一個子目錄 (且這個子目錄必須位於本機 [/var/tomcat/webapps/ROOT] 下),並將該目錄宣告在 /etc/http/conf/mod_jk.conf。

    1. No comments yet.

    1. No trackbacks yet.

    return top

    %d 位部落客按了讚: