Apache tomcat 配置總結

herosoft發表於2007-07-23

Apache tomcat 配置總結

Apache tomcat 介紹,比較

Windows環境下的tomcat + apache配置

Linux/Unix環境下的tomcat + apache配置

[@more@]

Apache Web伺服器Apache是根據NCSA的伺服器發展而來的,NCSA是最早出現的Web伺服器程式之一,由伊利諾斯大學Urbana-Champaign分校的美國國家超級計算應用中心開發。在發展初期,Apache主要是一個基於UNIX系統的伺服器,它的宗旨就是建成一個基於UNIX系統的、功能更強、效率更高並且速度更快的WWW伺服器,這就決定了它是從其他的伺服器演變而來的,並且新增了大量補丁來增強它在某一方面的效能,所以它就被命名為“APA+CHy Server(一個補丁組成的伺服器)”。發展到今天,Apache已經被移植到很多平臺上了。
Apache的開發遵循GPL協議,由全球的志願者一起開發和維護。在保持強大的功能及不斷更新的同時,它仍然是免費的,並且公開原始碼。

Tomcat容器Tomcat是一個免費的開源的Serlvet容器,它是Apache基金會的Jakarta專案中的一個核心專案,由Apache,Sun和其它一些公司及個人共同開發而成。由於有了Sun的參與和支援,最新的Servlet和Jsp規範總能在Tomcat中得到體現。
Tomcat是穩固的獨立的Web伺服器與Servlet Container,不過,其Web伺服器的功能則不如許多更健全的Web伺服器完整,如Apache Web伺服器(舉例來說,Tomcat沒有大量的選擇性模組)。不過,Tomcat是自由的開源軟體,而且有許多高手致力於其發展。

區別:

apache:側重於http server
tomcat:側重於servlet引擎,如果以standalone方式執行,功能上與apache等效 , 支援JSP,但對靜態網頁不太理想;
apache是web伺服器,tomcat是應用(java)伺服器,它只是一個servlet(jsp也翻譯成servlet)容器,可以認為是apache的擴充套件,但是可以獨立於apache執行。
換句話說,apache是一輛卡車,上面可以裝一些東西如html等。但是不能裝水,要裝水必須要有容器(桶),而這個桶也可以不放在卡車上。

Windows環境下的tomcat + apache配置

轉載:

Windows環境下的tomcat + apache配置(絕對實踐操作版)

關鍵詞

Apache的HTTPD是目前比較受歡迎的網站伺服器軟體,它不但功能強大,而且完全免費,並且支援市場上流行的各種作業系統(Windows,Linux,Mac os)。同時對於Java Servlet/JSP的支援,通常也會使用同樣Apache出品的Tomcat。
Tomcat除了支援Java Servlet/JSP之外,也可以當做網站伺服器使用,但是在對於靜態的html檔案、圖片檔案等的解析效率上不如Apache HTTPD的執行效率高。應用tomcat的伺服器如果網站的訪問量較大,系統資源佔用會明顯升高,近日筆者在專案執行過程中遇到這一問題,便也想到同時應用tomcat+apache服務。Apache負責靜態資源處理,tomcat負責jsp和java servlet等動態資源的處理。在網上看了不少介紹Apache和Tomcat整合的帖子。大多為互相轉貼,有幾個關鍵問題沒有講清楚,並且多數文章講解中所舉的軟體版本都已經比較老舊。因而筆者總結自己實際操作的經驗,希望對大家有所幫助。

準備工作:
1、 apache 2.0.55
下載地址:
2、 Tomcat 5.5
下載地址:
3、 JRE1.5.0 update6
下載地址:
你也可以選擇安裝JDK,JDK不僅包含了執行java應用程式的支援,同時也包含J2SE的開發包。但如果您只是應用的話,我建議您僅下載JRE即可,為什麼?因為它小啊:)
4、JK-apache-2.0.55
下載地址:

注意jk的版本一定要與你的apache版本相同。Jk下載可以直接到apache.org官網下載,有多種版本,適用於各種作業系統,地址如下:

windows使用者進入win32目錄,不同的tomcat對應不同jk副檔名不同,有可能是*.dll,或者*.so,根據你的tomcat版本下載合適的jk版本。

安裝,軟體的安裝順序可以適當調整,但是jre(jdk)一定要在tomcat之前安裝:
1、安裝JRE(JDK)
此處選擇預設安裝即可,(舊版本的JDK安裝完之後需要設定系統的環境變數,JRE和JDK1.5.0以後版本不設定也沒關係。)安裝完成之後你可以選擇按照下面的示例設定你的系統環境變數:我的電腦->右鍵屬性->常規->高階->環境變數
JAVA_HOME = d:Javajre1.5.0_06
CLASSPATH = .;d:Javajre1.5.0_06libdt.jar;d:Javajre1.5.0_06lib ools.jar
PATH = d:Javajre1.5.0_06in
注意檔案路徑要改成你實際安裝的路徑。

2、Apache安裝
此處注意,如果你本機已經裝了iis並且佔用80埠,務必先在服務中將iis停止或禁用。軟體預設安裝即可。安裝過程中設定Network Domain和Server Name為localhost,設定你的email地址,下方會讓你選擇only for the current user或for all users。預設選擇for all users。這樣Apache就會佔用80埠,並且做為一個系統服務開機自執行。
安裝完成之後,你在瀏覽器中輸入將會看到Apache的成功頁面.Apache的主目錄是d:ApacheApache2,此時Apache,已經執行,你可以在視窗的托盤看到他的圖示,雙擊圖示,在彈開的視窗選擇"Open Apache Monitor",點Stop,停止Apaceh服務,因為下面要安裝Tomcat和JK.

3、Tomcat安裝
選擇安裝目錄為了d:Tomcat,其餘為預設安裝.成功後在瀏覽器中輸入出現Tomcat頁面表示安裝成功了。關於tomcat的設定已經有很多非常詳細的文章,在此就不再詳述了。

4、JK的安裝
把mod_jk_2.0.55.so複製到d:ApacheApache2modules下.

以上安裝全部完成後,開啟cmd命令提示符,執行d:ApacheApache2inApache.exe -t 你將會看到"Syntax OK",表示Apache配置正常.這個命令非常有用,下面在繼續配置Apache的時候還會再次用到。

配置伺服器:

1、配置Tomcat
查詢目錄下的conf/workers.properties檔案,並對比下方文字內容,如有不同以下方內容為準修改。
workers.tomcat_home=d:Tomcat #讓mod_jk模組知道Tomcat的位置
workers.java_home=d:Javajre1.5.0_06 #讓mod_jk模組知道jre的位置
ps=
worker.list=ajp13 #模組版本
worker.ajp13.port=8009 #工作埠,若沒佔用則不用修改
worker.ajp13.host=localhost #本機,若上面的Apache主機不為localhost,作相應修改
worker.ajp13.type=ajp13 #型別
worker.ajp13.lbfactor=1 #代理數,不用修改

如果檔案不存在則建立。並填充上述內容。

2、配置Apache
開啟d:ApacheApache2conf下的httpd.conf,在最後加入下面這段程式碼並儲存。
#設定Apache與Tomcat之間的連線,讓Apache遇到jsp檔案時,在後臺將其交由Tomcat去處理
LoadModule jk_module modules/mod_jk_2.0.55.so
#此處mod_jk的檔案為你下載的檔案
JkWorkersFile "d:/Tomcat/conf/workers.properties"
#指定tomcat監聽配置檔案地址
JkLogFile "d:/Tomcat/logs/mod_jk2.log"
#指定日誌存放位置
JkLogLevel info

#設定虛擬主機

ServerAdmin localhost
DocumentRoot d:/test1
#您的站點專案所在路徑,應與tomcat中的目錄設定相同
ServerName localhost
DirectoryIndex index.html index.htm index.jsp
ErrorLog logs/shsc-error_log.txt
CustomLog logs/shsc-access_log.txt common
JkMount /servlet/* ajp13
#讓Apache支援對servlet傳送,用以Tomcat解析
JkMount /*.jsp ajp13
#讓Apache支援對jsp傳送,用以Tomcat解析
JkMount /*.do ajp13
#讓Apache支援對.do傳送,用以Tomcat解析


#開頭的行為註釋,可以刪除。此處的配置我是以設定虛擬目錄,重新指定了serverName,DocumentRoot路徑的方式配置站點,實際上,Apache的配置可以非常靈活,你也可以不採用虛擬目錄的方式,而直接去修改站點的預設配置,使用任意文字編輯工具,搜尋如ServerName,DocumentRoot,ServerAdmin等相關項,然後將該項的配置根據你的實際情況進行修改即可。我建議大家可以多多嘗試不同的配置,這是一種很有樂趣的體驗。
所有的修改完成這後,再次執行d:ApacheApache2inApache.exe -t 如果看到"Syntax OK",說明你所有配置無誤,雙擊視窗的托盤中的圖示,然後點選Start執行。
在位址列中分別輸入,與若結果相同,Apache與Tomcat整合成功

Trackback:

轉載:

Linux下jsp環境:apache,tomcat配置

Linux下jsp開發環境,apache,tomcat伺服器配置過程:

(特別註明:本文內容均參考於網際網路,經過個人實踐而總結,若配置中遇到問題請聯絡我,可能寫的時候漏掉了某些地方,感謝網上前輩的經驗,希望更多的實踐經驗得以共享)

1.作業系統

RedHat Linux 9.0

2.所需軟體

Apache 2.0.54

下載地址



下載該檔案httpd-2.0.54.tar.gz

Tomcat5.5.9

下載地址



下載該檔案jakarta-tomcat-5.5.9.tar.gz

Mod_jk 1.2.14

下載地址



下載該檔案jakarta-tomcat-connectors-1.2.14-src.tar.gz

Jdk 1_5_0_04

下載地址



下載該檔案jdk-1_5_0_04-linux-i586-rpm.bin

下載時將所需軟體包檔案儲存在/usr/local目錄下

3.安裝步驟

A 安裝JDK

# cd /usr/local/

# chmod +x jdk-1_5_0_04-linux-i586-rpm.bin

# ./jdk-1.5.0_04-linux-i586-rpm.bin

# cd /usr/java/

# ln -s /usr/java/jdk-1_5_0_04 /usr/local/java

# vi /etc/profile

#

新增如下內容

JAVA_HOME=/usr/java/jdk-1_5_0_04

CLASSPATH=/usr/java/jdk-1_5_0_04/lib/dt.jar:/usr/java/jdk-1_5_0_04/lib/tools.jar

PATH=/usr/java/jdk-1_5_0_04/bin:$PATH

export PATH JAVA_HOME CLASSPATH

B 安裝Apache

# cd /usr/local/

# tar xvfz httpd-2.0.54.tar.gz

# cd httpd-2.0.54

# ./configure --prefix=/usr/local/apache --enable-module=so

# make

# make install

# cd /usr/local/apache/conf

# vi ./httpd.conf

將Listen 80 修改為Listen 127.0.0.1:80 (219行)

將ServerName 修改為ServerName LocalHost:80 (291行)

在DirectoryIndex中新增 index.jsp (394行)

# cd /usr/local/apache/bin/

# ./apachectl configtest

顯示Syntax ok則表明安裝成功

#./apachectl start

啟動apache服務,瀏覽器中訪問本機80埠,檢視埠是否正常,輸入127.0.0.1:80

# ./apachectl stop

關閉服務

備註:prefix定義apache的安裝路徑

C安裝Tomcat

# cd /usr/local/

# tar xvfz jakarta-tomcat-5.5.9.tar.gz

# ln ?s /usr/local/jakarta-tomcat-5.5.9 /usr/local/tomcat

# vi /usr/local/tomcat/bin/catalina.sh

第46行加入此句

JAVA_HOME=/usr/java/jdk-1_5_0_04

啟動服務後,訪問本機8080埠,檢視埠是否正常(輸入127.0.0.1:8080)

# /usr/local/tomcat/bin/startup.sh /startup.bat

關閉服務

# /usr/local/tomcat/bin/shutdown.sh /shutdown.bat

D 安裝JK

# cd /usr/local/

# tar xzvf jakarta-tomcat-connectors-1.2.14-src.tar.gz

# cd jakarta-tomcat-connectors-1.2.14-src/jk/native

# chmod 755 buildconf.sh

# ./buildconf.sh

# ./configure --with-apxs=/usr/local/apache/bin/apxs

# make

# make install

# cd /usr/local/jakarta-tomcat-connectors-jk1.2.14-src/jk/native/apache-2.0/

# cp mod_jk.so /usr/local/apache/modules/

E 系統整合

# vi /usr/local/apache/conf/httpd.conf

在檔案最末尾加上如下語句

#Load mod_jk

LoadModule jk_module modules/mod_jk.so

# Configure mod_jk

JkWorkersFile conf/workers.properties

JkLogFile logs/mod_jk.log

JkLogLevel info

JkMount /*.jsp loadbalancer

JkMount /servlet/* loadbalancer

JkMount /application/* loadbalancer

#vi /usr/local/apache/conf/workers.properties

新增下列語句

#

# workers.properties

#

# In Unix, we use forward slashes:

ps=/

# list the workers by name

worker.list=tomcat1, tomcat2, loadbalancer

# ------------------------

# First tomcat server

# ------------------------

worker.tomcat1.port=8009

worker.tomcat1.host=127.0.0.1

worker.tomcat1.type=ajp13

# Specify the size of the open connection cache.

#worker.tomcat1.cachesize

#

# Specifies the load balance factor when used with

# a load balancing worker.

# Note:

# ----&gt lbfactor must be > 0

# ----&gt Low lbfactor means less work done by the worker.

worker.tomcat1.lbfactor=100

# ------------------------

# Second tomcat server

# ------------------------

worker.tomcat2.port=8009

worker.tomcat2.host=192.168.1.34

worker.tomcat2.type=ajp13

# Specify the size of the open connection cache.

#worker.tomcat2.cachesize

#

# Specifies the load balance factor when used with

# a load balancing worker.

# Note:

# ----&gt lbfactor must be > 0

# ----&gt Low lbfactor means less work done by the worker.

worker.tomcat2.lbfactor=100

# ------------------------

# Load Balancer worker

# ------------------------

# The loadbalancer (type lb) worker performs weighted round-robin

# load balancing with sticky sessions.

# Note:

# ----&gt If a worker dies, the load balancer will check its state

# once in a while. Until then all work is redirected to peer

# worker.

worker.loadbalancer.type=lb

worker.loadbalancer.balanced_workers=tomcat1, tomcat2

#

# END workers.properties

#

#vi /usr/local/tomcat/conf/server.xml


protocolHandlerClassName="org.apache.jk.server.JkCoyoteHandler"

redirectPort="8443" protocol="AJP/1.3" />  第101行

在119行左右加入如下語句(去註釋)



若第二臺tomcat,將jvmRoute的修改為tomcat2

系統整合完畢

啟動apache和tomcat服務

# /usr/local/apache/bin/apachectl start

# /usr/local/tomcat/bin/catalina.sh start

將如下內容新增至/etc/rc.d/rc.local檔案末尾

以便系統啟動後開啟apache,tomcat服務

#vi /etc/rc.d/rc.local

新增

/usr/local/tomcat/bin/catalina.sh start

/usr/local/apache/bin/apachectl start
【參考文章】
Linux下Tomcat與Apache Web伺服器的整合 --

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/220284/viewspace-927626/,如需轉載,請註明出處,否則將追究法律責任。

相關文章