linux下Tomcat 5.0.18 與 Apache 2 安裝/集成/配置
linux下Tomcat 5.0.18 與 Apache 2 安裝/集成/配置
1,首先apache2。我們使用源代碼編譯安裝:
1.1, 從http://archive.apache.org/dist/httpd/下載httpd-2.0.50.tar.gz,放至Linux服務器中;
1.2, tar zxvf httpd-2.0.50.tar.gz,將包解出來;
./configure -prefix=/usr/local/apache2 -enable-so
make
make install
2,安裝JDK。在java.sun.com上下載J2SDK1.4版,安裝,并在/etc/profile中加入以下幾句,以設置JAVA_HOME和classpath環境變量:
JAVA_HOME=/root/jdk_nb/jdk;export $JAVA_HOME
PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin
3,安裝tomcat。在http://archive.apache.org/dist/jakarta/tomcat-5/archive/v5.0.18/bin/上下載
jakarta-tomcat-5.0.18.tar.gz,放至Linux服務器中:
3.1, tar zxvf jakarta-tomcat-5.0.18.tar.gz
在/etc/profile中加入TOMCAT_HOME環境變量;
TOMCAT_HOMT/bin/catalina.sh start直接就可以啟動使用。
4,編譯和設置mod_jk2。在http://archive.apache.org/dist/jakarta/tomcat-connectors/jk2/中下載jakarta-tomcat-connectors-jk2-src-current.tar.gz,放至LINUX服務器上:
tar zxvf jakarta-tomcat-connectors-jk2-src-current.tar.gz
cd jakarta-tomcat-connectors-jk2-2.0.4-src/jk/native2
./buildconf.sh
./configure --with-apxs2=/usr/local/apache2/bin/apxs --with-java-home=/root/jdk_nb/jdk(具體路徑根據JDK安裝路徑調整)
make jk2-build-apxs
cd server/apache2
make -f Makefile.apxs install
成功執行完這幾步驟之后,mod_jk2已經裝好,接下來是配置階段。
5,Apache配置。打開apache2/conf/httpd.conf:
5.1,更改listen端口,與自己的IP匹配,并加入一句,以載入mod_jk2模塊:
Listen 192.168.1.11:80
LoadModule jk2_module modules/mod_jk2.so
5.2,將AddDefaultCharset ISO-8859-1一句注釋掉,以根除可能的中文亂碼問題;
5.3,在apache2/conf/新寫一文件workers2.properties,內容如下:
#---- worker2.properties
[logger.apache2]
level=DEBUG
# Shared memory handling. Needs to be set.
[shm]
file=/usr/local/apache2/logs/shm.file
size=1048576
# Example socket channel, explicitly set port and host.
[channel.socket:localhost:8009]
tomcatId=localhost:8009
port=8009
host=127.0.0.1
# define the worker
[ajp13:localhost:8009]
channel=channel.socket:localhost:8009
#[status:status]
# Uri mapping
#[uri:/jkstatus/*]
#group=status:status
#[uri:/jsp-examples/*]
#group=ajp13:localhost:8009
#[uri:/servlets-examples/*]
#group=ajp13:localhost:8009
#[uri:/javaapp/*]
#group=ajp13:localhost:8009
#[uri:www.home.net/*.jsp]
#worker=ajp13:localhost:8009
#[uri:10.0.0.10/*]
#worker=ajp13:localhost:8009
#---- end of workers2.properties
當然,也可以刪除其中的注釋符使其中的uri和worker的配置生效,現在不用這種方式配置是因為找到一個更好的方法:在httpd.conf里面配置:
加入一段VirtualHost在apache2/conf/httpd.conf:
ServerName localhost
DocumentRoot /sol/people/web/admin/
DirectoryIndex index.htm index.html default.htm index.php index.jsp
JkUriSet worker ajp13:localhost:8009
ErrorLog logs/SportOnline_1-err_log
CustomLog logs/SportOnline_1-aclearcase/" target="_blank" >cc_log common
在VirtualHost之前,加入以下代碼,可以從全局避免用戶用apache訪問WEB-INF目錄:
Order allow,deny
Deny from all
6,Tomcat配置。打開tomcat/conf/server.xml,確認以下一段代碼沒有被注釋掉,以使apache能夠將jsp請求通過8009端口轉至tomcat處理:
還請確認tomcat的服務端口和apache的服務端口不沖突。本例中apache使用80端口,tomcat使用8080端口。
7,如果linux服務器已安裝的有apache服務器,為使不影響我們的apache,需要更改/etc/rc.d/init.d/httpd這個啟動腳本文件:
vi /etc/rc.d/init.d/httpd
更改以下三個屬性:
將apachectl=/usr/sbin/apachectl改為:
apachectl=/usr/local/apache2/bin/apachectl
將httpd=/usr/sbin/httpd改為:
httpd=/usr/local/apache2/bin/httpd
將CONFFILE=/etc/httpd/conf/httpd.conf改為:
CONFFILE=/usr/local/apache2/conf/httpd.conf
完成之后,可以通過service httpd restart重新啟動我們需要的apache服務。
================================================================
這樣就可以為每個不同的虛擬主機分別指定使用或者不使用jsp功能。
配置完成。
原文轉自:http://www.anti-gravitydesign.com