wiki:TomCat

安裝tomcat

  1. 下載tomcat
  1. 解壓縮到 /opt
  1. 環境路徑設定:

在/etc/bash.bashrc最後一行加入

export JAVA_HOME=/usr/lib/jvm/java-6-sun
  1. 直接執行 $tomcat/bin/startup.sh
  1. 預設歡迎畫面

開啟admin介面

vim /opt/tomcat/conf/tomcat-users.xml

<?xml version='1.0' encoding='utf-8'?>
<tomcat-users>
  <role rolename="manager"/>
  <role rolename="admin"/>
  <user username="admin" password="admin" roles="admin,manager"/>
</tomcat-users>

ps: 由於安全性關係,更改username,只要不是admin或manager就會出錯。

更改設定檔需重開才能生效:

 $TOMCAT/bin/shutdown.sh
 $TOMCAT/bin/startup.sh

網頁:

  1. 設定
  2. 狀態

配置 webapp

有兩種自動部署 web 應用程式於檔案系統上的方式:

  1. 將 WAR 檔或 web 應用程式的目錄(包括所有的內容)複製到 $TOMCAT/webapps 目錄中。
  2. 建立含有 web 應用程式內容的XML檔,放入 $TOMCAT/webapps 中。web 應用程式本身可以存放於檔案系統中的任何位置。

設定tomcat

tomcat 設定檔在 /$TOMCAT/conf/server.xml,包含更改預設為8080的 port number。改完後重新啟動程式即可。

apache 與 tomcat 結合

是否想過將port改成80,則tomcat就可以取代apache 當主瀏覽器了?但在linux系統裡,這樣修改會讓tomcat開不起來,一則是因為安全考量,在linux裡1024以下的port都是特權port,一則是因為tomcat一開始就不是設計來當萬能的網頁伺服器的,如asp,php就不支援,也因效能考量,所以它希望當第二網頁伺服器(看到某個網站上寫的,但現在要回過頭來找出網址又熊熊找不到),不過這個限制在windows版本卻不用解決。回過頭來,在linux上如果要讓主要的web server為tomcat,也就是說不想在連結裡加入port號,大多是用jk,將apache 轉連接到 tomcat,所以是 apache + tomcat + connector

加入虛擬主機

用一台主機的tomcat管理多個domain name的網頁,可以使用虛擬主機的方法。同樣在 server.xml加入資訊

<Server port="8005" shutdown="SHUTDOWN" debug="0">
   <Service name="Tomcat-Standalone">
   <Connector className="org.apache.coyote.tomcat4.CoyoteConnector"
  port="8080" minProcessors="5" maxProcessors="75"
  enableLookups="true" redirectPort="8443"/>
   <Connector className="org.apache.coyote.tomcat4.CoyoteConnector"
  port="8443" minProcessors="5" maxProcessors="75"
  acceptCount="10" debug="0" scheme="https" secure="true"/>
    <Factory className="org.apache.coyote.tomcat4.CoyoteServerSocketFactory"
  clientAuth="false" protocol="TLS" />
  </Connector>
   <Engine name="Standalone" defaultHost="localhost" debug="0">
   <!--此為預設主機-->
   <Host name="localhost" debug="0" appBase="webapps"
   unpackWARs="true" autoDeploy="true">
    <Context path="" docBase="ROOT" debug="0"/>
    <Context path="/orders" docBase="/home/ian/orders" debug="0" reloadable="true" crossContext="true">
    </Context>
   </Host>
  <!--此為第一個「虛擬主機」www.example.com -->
  <Host name="www.example.com" appBase="/home/example/webapp">
  <Context path="" docBase="."/>
  </Host>
   </Engine>
  </Service>
</Server>
Last modified 15 years ago Last modified on Jan 19, 2009, 6:00:20 PM