tomcat 5.0 + apache 2.0 完全安裝zt

發表于:2007-06-08來源:作者:點擊數: 標簽:
摘要 Apachehttpd-2.0.47+Tomcatjakarta-tomcat-4.1.24+jk2+php-4.3.3的安裝(2003-11-1421:13:53) -------------------------------------------------------------------------------- ByiHero Apachehttpd-2.0.47+Tomcatjakarta-tomcat-4.1.24+jk2+php-4.3

摘要
Apache httpd-2.0.47 + Tomcat jakarta-tomcat-4.1.24 + jk2 + php-4.3.3 的安裝(2003-11-14 21:13:53)

--------------------------------------------------------------------------------
By iHero


Apache httpd-2.0.47 + Tomcat jakarta-tomcat-4.1.24 + jk2 + php-4.3.3 的安裝:

服務器環境:

RedHat Linux 8.0
J2sdk1.4.1_02
Tomcat 4.1.12 binary
Apache 2.0.47 built from source
jk2 connector source from jakarta.apache.org


安裝JDK:

下載: j2sdk-1_4_1_02-linux-i586.bin
把jdk 安裝在/usr/local/j2sdk1.4.1_02
在/usr/local 下建立 軟連接 jdk
#ln -s /usr/local/j2sdk1.4.1_02 /usr/local/jdk

[user@host]# cat /etc/profile.d/java.sh
# set java environment
export JAVA_HOME=/usr/local/jdk
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=$JAVA_HOME/lib

#更改shell文件屬性:
#chmod 755 /etc/profile.d/java.sh

#查看是否正確
#which java
/usr/local/jdk/bin/java


安裝apache :

#cd /usr/local/src/
#tar -xzvf httpd-2.0.47.tar.gz
#cd httpd-2.0.47
#配置apache 支持動態module 加載
#./configure
"--with-layout=Apache"
"--prefix=/usr/local/apache"
"--enable-module=so"
"--enable-module=setenvif"
"--enable-module=rewrite"
"--with-mpm=prefork"

#make
#make install

#修改http.conf 具體的修改請參考apache2.0文檔
# 或者查看 http://www.cnfug.org/journal/3/02.html

StartServers 10
MinSpareServers 25
MaxSpareServers 50
ServerLimit 2000
MaxClients 1500 #Apache可以同時處理的請求
MaxRequestsPerChild 10000



安裝Php :
下載: php-4.3.3.tar.gz
#cd /usr/local/src
#tar -xzvf

#php for apache 以apache modules的方式運行
./configure --with-apxs2=/usr/local/apache/bin/apxs

#php run like shell 以單獨的shell方式運行
./configure --prefix=/usr/local/php

#php for apache
./configure
--with-apxs2=/usr/local/apache/bin/apxs
--enable-track-vars
--enable-debug
--enable-url-includes
--enable-sockets
--with-config-file-path=/usr/local/apache/conf #php.ini文件放的目錄
#下面的參數是安裝PHP + gd庫
--with-gd=/usr/local
--enable-gd-native-ttf
--with-ttf=/usr/local
--with-jpeg-dir=/usr/local
--with-zlib-dir=/usr/local
--with-png-dir=/usr/local
#make
#make install
#ls -l /usr/local/apache/modules/libphp4.so #存在 安裝成功

#修改apache http.conf
添加
LoadModule php4_module modules/libphp4.so
AddType application/x-httpd-php .php


安裝Tomcat:
#cd /usr/local
#tar -xzvf jakarta-tomcat-4.1.24.tar.gz
#ln -s jakarta-tomcat-4.1.24 tomcat
#測試Tomcat正常安裝:
#/usr/local/tomcat/bin/startup.sh

#通過IE http://yourIP:8080/ Tomcat的頁面正常顯示


安裝JK2 :
#cd /usr/local/src
#tar -xzvf jakarta-tomcat-connectors-jk2-2.0.2-src.tar.gz
#cd jakarta-tomcat-connectors-jk2-2.0.2-src
#cd jk/native2
#chmod 755 buildconf.sh
#./configure --with-apxs2=/usr/local/apache/bin/apxs --enable-EAPI
#make
#make install
#如果make install 不成功需要手工發布mod_jk2.so
#cd /usr/local/src/jakarta-tomcat-connectors-jk2-2.0.2-src/jk/build/jk2/apache2
#cp *.so /usr/local/apache/modules/


配置$CATLINA/conf/server.xml


debug="0"/>
debug="0"/>



port="8080" minProcessors="5" maxProcessors="75"
enableLookups="true" redirectPort="8443"
acceptCount="100" debug="0" connectionTimeout="-1"
useURIValidationHack="false" disableUploadTimeout="true" />

port="8009" minProcessors="5" maxProcessors="75"
enableLookups="true" redirectPort="8443"
acceptCount="10" debug="0" connectionTimeout="-1"
useURIValidationHack="false"
protocolHandlerClassName="org.apache.jk.server.JkCoyoteHandler"/>








prefix="catalina_log." suffix=".txt"
timestamp="true"/>


unpackWARs="true" autoDeploy="true">

directory="logs" prefix="localhost_log." suffix=".txt"
timestamp="true"/>







#編輯
#vi /usr/local/tomcat/conf/jk2.properties
# list of needed handlers.
handler.list=channelSocket,request
# Override the default port for the channelSocket
channelSocket.port=8009


#編輯文件:

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

# only at beginnin. In production uncomment it out
[logger.apache2]
level=DEBUG

[shm]
file=/usr/local/apache/logs/shm.file
size=1048576

# Example socket channel, override port and host.
[channel.socket:localhost:8009]
port=8009
host=127.0.0.1

# define the worker
[ajp13:localhost:8009]
channel=channel.socket:localhost:8009

# Uri mapping
[uri:192.168.0.90/*.jsp]
worker=ajp13:localhost:8009

[uri:211.167.83.165/*.jsp]
worker=ajp13:localhost:8009

#編輯http.conf
#修改
DocumentRoot "/usr/local/tomcat/webapps"
#添加index.jsp
DirectoryIndex index.html index.html.var index.jsp


LoadModule jk2_module modules/mod_jk2.so


Order deny,allow
Deny from all

#
# Order deny,allow
# Deny from all
#


Order Allow,Deny



ServerName www.home.net
ServerAlias www
ServerAlias localhost
ServerAlias 192.168.0.90
ServerAlias 211.167.83.165
ServerAdmin webmater@5757.com
DocumentRoot /usr/local/tomcat/webapps

ErrorLog logs/home.net-errorlog
CustomLog logs/home.net-access.log common


JkUriSet worker ajp13:localhost:8009




在配置server.xml 的時候:
配置管理端口 和連接的端口順序顛倒一下
在 catalina.out 可以觀察到:
這樣用apache 連接的時候,就不用等待了.


port="8009" minProcessors="5" maxProcessors="75"
enableLookups="true" redirectPort="8443"
acceptCount="10" debug="0" connectionTimeout="0"
useURIValidationHack="false"
protocolHandlerClassName="org.apache.jk.server.JkCoyoteHandler"/>


port="8080" minProcessors="5" maxProcessors="75"
enableLookups="true" redirectPort="8443"
acceptCount="100" debug="0" connectionTimeout="20000"
useURIValidationHack="false" disableUploadTimeout="true" />

#server.xml 不支持中文的注釋
#對 shared/classes 目錄下的java進行的修改不能立刻的反應到jsp中標.不能立即起作用.

以上的安裝同樣適合jakarta-tomcat-5.0.12 在以下的配置中注意

#在配置 jakarta-tomcat-5.0.12 的時候,注意 server.xml 中

沒有封閉.

BUG:

在catalina.out 報錯誤.

總體上感覺tomcat 5.0 比4.x在性能上是有了改進.啟動的速度快.

 dzho002 回復于:2003-12-23 07:58:02
我的DocumentRoot 是這樣的:
DocumentRoot "/usr/local/tomcat/webapps/jsp-examples" 
當我用
http://localhost/index.html, 我可以看到JSP例子的那頁, 但我點一個JSP程序, TOMCAT 報錯, 找不到文件.

當我用
http://localhost/index.jsp, 我可以看到JSP例子的那頁, 但是看不到網頁上的圖標. 連過去的JSP程序到是可以運行.
這是為啥?

 jhsea3do 回復于:2003-12-23 09:40:24
5.0是個不成熟的產品,當你使用5.0代替4.1時你會發現很多webapp不能正常工作,因為5.0不支持JSP1.2,而支持JSP2.0

 dzho002 回復于:2003-12-24 05:24:06
[b:8a23c5158b]Tomcat 5.0.6 + jk2 + Apache 2.0[/b:8a23c5158b]

dzho002

[b:8a23c5158b]Install tomcat[/b:8a23c5158b]

[code:1:8a23c5158b]cp jakarta-tomcat-5.0.16.tar.gz /usr/local 
cd /usr/local 
tar xzvf jakarta-tomcat-5.0.16.tar.gz 
ln -s jakarta-tomcat-5.0.16 tomcat  
rm -f jakarta-tomcat-5.0.16.tar.gz  [/code:1:8a23c5158b]

Add following lines to /etc/profile, and tomcat should work beyond this point.

[code:1:8a23c5158b]export PATH=/usr/local/j2sdk1.4.2_01/bin:$PATH 
export JAVA_HOME=/usr/local/j2sdk1.4.2_01 
export CATALINA_HOME=/usr/local/tomcat 
[/code:1:8a23c5158b]

[b:8a23c5158b]Test Tomcat[/b:8a23c5158b]

[code:1:8a23c5158b]source /etc/profile 
/usr/local/tomcat/bin/startup.sh 
It is time to open the page http://localhost:8080/ in mozilla to watch the cat(tiger). 
/usr/local/tomcat/bin/shutdown.sh [/code:1:8a23c5158b]

[b:8a23c5158b]Install Apache 2[/b:8a23c5158b]

[code:1:8a23c5158b]
tar xzvf httpd-2.0.48.tar.gz 
cd httpd-2.0.48 
./configure --prefix=/usr/local/apache --enable-ssl --enable-so 
make 
make install 
[/code:1:8a23c5158b]

[b:8a23c5158b]Test apache2[/b:8a23c5158b]

[code:1:8a23c5158b]/usr/local/apache/bin/apachectl start [/code:1:8a23c5158b]

There is a complaint: "httpd: Could not determine the server's fully qualified domain name, using 127.0.0.1 for ServerName"
Donot know why yet.

Now, open the page http://localhost/ to see the Apache main page from Mozilla.

[code:1:8a23c5158b]/usr/local/apache/bin/apachectl stop[/code:1:8a23c5158b] 

[b:8a23c5158b]Install jk2[/b:8a23c5158b]

[code:1:8a23c5158b]
tar xzvf jakarta-tomcat-connectors-jk2-2.0.2-src.tar.gz 
cd jakarta-tomcat-connectors-jk2-2.0.2-src/jk/native2  
./configure --with-apxs2=/usr/local/apache/bin/apxs 
make 
ls ../build/jk2/apache2/*.so 
../build/jk2/apache2/jkjni.so  ../build/jk2/apache2/mod_jk2.so 
cp ../build/jk2/apache2/*.so /usr/local/apache/modules/ 
[/code:1:8a23c5158b]

[b:8a23c5158b]Edit /usr/local/apache/conf/httpd.conf[/b:8a23c5158b]
Add a line to load the jk2 module.

[code:1:8a23c5158b]LoadModule jk2_module modules/mod_jk2.so [/code:1:8a23c5158b]

[b:8a23c5158b]Edit /usr/local/tomcat/conf/jk2.properties[/b:8a23c5158b]
It finnally looks like: (jk2 connector over TCP socket.)

[code:1:8a23c5158b][shm]
shm.file=/usr/local/tomcat/logs/jk2.shm 
size=1048576 
handler.list=apr,request,channelSocket 
channelSocket.port=8009 
[/code:1:8a23c5158b]
Edit /usr/local/apache/conf/workers2.properties
If it is not there, just create one by:

[code:1:8a23c5158b]
touch /usr/local/apache/conf/workers2.properties 
[/code:1:8a23c5158b]

[code:1:8a23c5158b]
[shm]
shm.file=/usr/local/tomcat/logs/jk2.shm 
size=1048576 
[channel.socket:localhost:8009] 
tomcatId=localhost:8009 

[ajp13:localhost:8009] 
channel=channel.socket:localhost:8009 

worker=ajp13:localhost:8009
[uri:/jsp-examples/*]
[uri:/servlets-examples/*]
[uri:/JSPWiki/*]

[/code:1:8a23c5158b]

Edit /usr/local/tomcat/conf/server.xml

Just find and comment out the following HTTP/1.1 connector.
Looks like it still works fine even if I donot do it.

[code:1:8a23c5158b]

<!-- Define a non-SSL Coyote HTTP/1.1 Connector on port 8080 -->
    <!--    
<Connector port="8080"
               maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
               enableLookups="false" redirectPort="8443" acceptCount="100"
               debug="0" connectionTimeout="20000" 
               disableUploadTimeout="true" />
    -->
[/code:1:8a23c5158b]

Now it is time to test apache + tomcat
http://localhost/ ---> open the default page of apache.
http://localhost/servlets-examples/ ---> open the servlets-examples page of tomcat.
http://localhost/jsp-examples/ ---> open the servlets-examples page of tomcat.

Done!

Some optional steps:

A puzzle:
If I use this uri in the workers2.properties,

[uri:/*.jsp]
worker=ajp13:localhost:8009 

http://localhost/ ---> open the default page of apache.
http://localhost/index.jsp ---> open the main page of tomcat, but all images are missing.
This is what I want if somebody can find those images back for me.

Modify /usr/local/tomcat/conf/tomcat-users.xml
Add two roles and a user with those roles, so dan can admin/manage tomcat via web.

<role rolename="manager"/>
<role rolename="admin"/> 
<user username="dan" password="tomcat" roles="manager,admin,tomcat,role1"/> 

Start tomcat and try these two pages.

http://localhost:8080/admin/  
http://localhost:8080/manager/html/  

The first page looks very complicated, while the second one allows you to start/stop any JSP program in Tomcat easily.

[b:8a23c5158b]To Run tomcat as a no-root user[/b:8a23c5158b]

[code:1:8a23c5158b]groupadd tomcat 
useradd -g tomcat -c "A Big Cat", -d /usr/local/tomcat tomcat 
passwd tomcat 
chown  tomcat:tomcat /usr/local/tomcat 
chown -R tomcat:tomcat /usr/local/jakarta-tomcat-5.0.16 
su - tomcat -c /usr/local/tomcat/bin/startup.sh 
su - tomcat -c /usr/local/tomcat/bin/shutdown.sh [/code:1:8a23c5158b]

References

[url]http://www.greenfieldresearch.ca/technical/jk2_config.html[/url]

[url]http://johnturner.com/howto.apache2-tomcat4127-jk-rh9-howto.html[/url]

 黑色 回復于:2004-01-12 13:26:33
請教一下,我照著上面所述,做到make的時侯
出現
                                                                       
libtool: install: warning: remember to run `libtool --finish /usr/local/httpd/m
dules'                                                                         
make[1]: Leaving directory `/misc/tomcat4/jakarta-tomcat-connectors-jk2-2.0.2-s
c/jk/native2/server/apache2'                                                   

然後去看 build/jk2/apache2 裡面只有一堆.o跟.lo沒有.so
>_<

請問各位高手,我是少了什麼步驟沒做嗎??

 dennis2 回復于:2004-01-12 17:02:49
[quote:ca142f9261="jhsea3do"]5.0是個不成熟的產品,當你使用5.0代替4.1時你會發現很多webapp不能正常工作,因為5.0不支持JSP1.2,而支持JSP2.0[/quote:ca142f9261]

“因為5.0不支持JSP1.2,而支持JSP2.0” 所以得出結論 “5.0是個不成熟的產品”?

什么邏輯

 jhsea3do 回復于:2004-01-12 22:37:06
[quote:ea599ead34="dennis2"]

“因為5.0不支持JSP1.2,而支持JSP2.0” 所以得出結論 “5.0是個不成熟的產品”?

什么邏輯[/quote:ea599ead34]

請問你有沒有親手編寫過jsp,如果沒有就不要說這樣的話 :em22: !

5.0不僅僅是對jsp得支持和4.1存在分歧,而且對servlet的支持也和4.1有出入,而且servlet一般都是被封裝的class,你無法修改!

 dennis2 回復于:2004-01-13 01:16:07
[quote:173b9bc48b="jhsea3do"]
5.0不僅僅是對jsp得支持和4.1存在分歧,而且對servlet的支持也和4.1有出入,而且servlet一般都是被封裝的class,你無法修改![/quote:173b9bc48b]

你只能說 5.0 對以前版本的應用不支持(或支持得不夠好),而不是不成熟。Tomcat 5 很早就已經穩定下來了,只不過一直在等著新的標準出來,它才出正式的穩定版。而這個新標準的出臺,也是醞釀了很久很久了。

如果把給 4.1 版本寫的應用原封不動地搬到 5.0 使用,無異于自找麻煩。但是新的應用就沒必要再針對 4.1 版寫了,因為 JSP 2.0 相對 1.2 有了很大改進。當然具體情況具體分析,但你卻不能說 5.0 版不成熟。

 linuxsky 回復于:2004-02-16 14:47:43
我在一臺機上也發現apache2目錄下沒有一個.so的文件
但以前在Redhat9 下面就可以
出的錯也和黑色網友的一樣

 dennis2 回復于:2004-02-16 14:57:01
編譯出的模塊 .so 文件在 .libs 目錄下。

 linuxsky 回復于:2004-02-16 16:02:04
[quote:8f117d4dc1="dennis2"]編譯出的模塊 .so 文件在 .libs 目錄下。[/quote:8f117d4dc1]

沒有啊。我剛又試了一把
還是沒看到
.libs目錄下也沒有.so的文件

 dennis2 回復于:2004-02-17 09:38:05
如果你編譯 jk2 沒問題的話,.so 文件應該在 jakarta-tomcat-connectors-jk2-2.0.2-src/jk/build/jk2/apache2 下。

 linuxsky 回復于:2004-02-17 10:58:33
是沒有的。我以前編成功過
那是在Redhat9.0環境下

最近換成了AS3.0
就成功不了
連試幾臺機都一樣。真是慘。

不過我用以前9.0下編好的so文件拷過去,還是可以用。就不知道會不會有其它問題

另外:我想問一下,如果我在httpd.conf里指定DocumentRoot /www
我希望這個目錄下可以執行php 還有jsp html 等..
我還需要在server.xml里怎么設置?或其它地方設置?

 只愛一點點 回復于:2004-02-17 14:01:10
好像不會有問題,只要和apache版本對應就行了吧?

 云海天涯 回復于:2004-02-17 15:45:48
good ,thank you

 kevinkan 回復于:2004-02-23 10:42:43
我整合 apach+tomcat的時候,在最好加上以下的語句
WebAppConnection warpConnection warp localhost:8080
WebAppDeploy examples warpConnection /examples/

在重啟的時候就出現了
Invalid virtual host name

究竟在那里解決這個問題?

 只愛一點點 回復于:2004-02-23 23:31:50
樓上用什么整合的?
JK2是不用上面的方面的吧?

 kpflysky 回復于:2004-02-24 17:51:18
誰有沒有單獨安裝tomcat5.0的經驗
我的servlet怎么不能部署上去
總提示servlet/*不存在
在4.0沒有問題的
是標準的servlet

 caojiqun 回復于:2004-02-24 22:37:55
也許你要做一下servlet映射或是修改全局的server.xml

 jessicar 回復于:2004-03-24 19:07:17
拜托了?。。。。。。。?!

 hfh08 回復于:2005-06-04 12:02:55
怎么安裝上數據庫啊
沒有數據庫 我認為這些都白做了啊

原文轉自:http://www.anti-gravitydesign.com

国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97