Tomcat 安裝

2022-03-03 11:44 更新

可利用多種方法把 Tomcat 安裝到不同的平臺上。關(guān)于 Tomcat 安裝方面的重要文檔是 RUNNING.txt。如果本節(jié)內(nèi)容尚未能解決你的某些困惑,建議查閱該文檔獲取幫助。

Windows 系統(tǒng)下的安裝

利用 Windows 安裝程序可以輕松地在 Windows 系統(tǒng)下安裝 Tomcat。無論是在界面還是在功能上,Windows 安裝程序都有向?qū)桨惭b程序,只需在以下幾個方面稍加注意:

  • 以 Windows 服務(wù)的形式進行安裝 利用多種配置,Tomcat 可以安裝為 Windows 服務(wù)。在組件頁面勾選復(fù)選框,將服務(wù)設(shè)置為“自動”啟動,這樣當 Windows 啟動時,Tomcat 也隨即啟動。為了獲取最佳的安全性,可以把該服務(wù)作為單獨用戶來運行,并降低權(quán)限(詳情參看 Windows 服務(wù)管理工具及其相關(guān)文檔)
  • Java 位置 為了運行服務(wù),安裝程序通常會提供默認的 JRE。安裝程序使用注冊表來確認 JRE 的基礎(chǔ)路徑,這可能是 Java 7 或 更新的版本,還可能包括安裝在完整 JDK 中作為其一個部分存在的 JRE。在 64 位操作系統(tǒng)下運行時,安裝程序會優(yōu)先查找 64 位 JRE,只有當無法找到時,才去查找32位的 JRE。并非強制性規(guī)定必須使用安裝程序所偵測到的默認 JRE,可以使用任何已經(jīng)安裝的 Java 7 或 更新的 JRE(32 位或 64 位)。
  • 托盤圖標 當 Tomcat 作為一種服務(wù)運行時,不會顯示托盤圖標。只有當選擇在安裝完后立即運行 Tomcat 時,不管此時 Tomcat 是否以服務(wù)形式運行,托盤圖標都會顯現(xiàn)。
  • 要想更好地了解如何管理以 Windows 服務(wù)形式運行的 Tomcat 的信息,可查看 Window 服務(wù)指南。

針對啟動與配置 Tomcat,安裝程序會創(chuàng)建相關(guān)的快捷方式。另外,需要特別注意的是,只有當 Tomcat 運行時,Tomcat 的 管理 Web 應(yīng)用(administration web application)工具才能使用。

UNIX 守護進程

利用 commons-daemon 工程的 jsvc 工具,可以將 Tomcat 作為一個守護進程來運行。Tomcat 的二進制發(fā)行版中包含著 jsvc 的源代碼包,它需要編譯。構(gòu)建 jsvc 需要一個 C ANSI 編譯器(比如 GCC)、GNU Autoconf,以及一個 JDK。

在運行腳本之前,先將環(huán)境變量 JAVA_HOME 設(shè)置為 JDK 的基礎(chǔ)路徑。在調(diào)用 ./configure 腳本時,需要使用 --with-java 參數(shù)來指定 JDK 路徑,比如:./configure --with-java=/usr/java。

使用下列命令應(yīng)該就能返回一個編譯好的 jsvc 二進制可執(zhí)行文件,位于 $CATALINA_HOME/bin 目錄中——這需要的前提條件是:使用了 GNU TAR,并且將環(huán)境變量 CATALINA_HOME 指向 Tomcat 安裝基本路徑。

請注意,應(yīng)該使用 GNU make(gmake)而不是 FreeBSD 系統(tǒng)下的原生 BSD make。

cd $CATALINA_HOME/bin
tar xvfz commons-daemon-native.tar.gz
cd commons-daemon-1.0.x-native-src/unix
./configure
make
cp jsvc ../..
cd ../..

使用下列命令,Tomcat 就可以作為一個守護進程來運行了。

CATALINA_BASE=$CATALINA_HOME
cd $CATALINA_HOME
./bin/jsvc \
    -classpath $CATALINA_HOME/bin/bootstrap.jar:$CATALINA_HOME/bin/tomcat-juli.jar \
    -outfile $CATALINA_BASE/logs/catalina.out \
    -errfile $CATALINA_BASE/logs/catalina.err \
    -Dcatalina.home=$CATALINA_HOME \
    -Dcatalina.base=$CATALINA_BASE \
    -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager \
    -Djava.util.logging.config.file=$CATALINA_BASE/conf/logging.properties \
    org.apache.catalina.startup.Bootstrap

如果 JVM 默認使用的是服務(wù)器 VM,而不是客戶端 VM,則可能還需要指定 -jvm server。這一點已經(jīng)在 OS X 系統(tǒng)下得到證實。

jsvc 還有其他一些有用的參數(shù)。比如:-user 就能讓守護進程初始化完成后切換到另一個用戶,從而能以非特權(quán)用戶來運行 Tomcat,同時又能使用特權(quán)端口。不過要注意的是,如果使用這個選項來以根用戶運行 Tomcat,需要禁用 org.apache.catalina.security.SecurityListener 檢查,這個檢查是用來防止以根用戶來運行 Tomcat 的。

jsvc --help 參數(shù)會提供完整的 jsvc 用途信息。尤其是 -debug 參數(shù),它對于調(diào)試 jsvc 運行中出現(xiàn)的問題是非常有用的一個工具。

$CATALINA_HOME/bin/daemon.sh 可以作為一個模板,利用 jsvc /etc/init.d/ 在啟動時自動開啟 Tomcat。

注意,要想以上述方式運行 Tomcat,Commons-Daemon JAR 文件必須位于運行時的類路徑上。Commons-Daemon JAR 文件在 bootstrap.jar 清單的類路徑項中。如果某個 Commons-Daemon 類出現(xiàn)了 ClassNotFoundException(無法找到類) 或 NoClassDefFoundError(無法找到類定義) 這樣的錯誤,那么在加載 jsvc 時將 Commons-Daemon JAR 添加到 -cp 參數(shù)中。

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號