Ubuntu安裝配置記4
apache和tomcat的整合,JSP由tomcat處理
apache和tomcat的整合,JSP由tomcat處理整合的方法我知道的有三種第一種是利用mod_proxy,第二種是ajp_proxy,第二種是mod_jk;我這裏就用第三種方法使用mod_jk,在ubuntu 中使用的軟件包是libapache2-mod-jk
在ubuntu server 10.4下做了快一個星期的實驗都沒成功,因爲是個新手,以前只是聽說過tomcat,但是沒有配置過,所在一有空就在網上逛,搜尋這方面的東西,在REDHAT,CENTOS下的配置講的很多,但在ubuntu server 下的很少,所以總結記錄下來。
軟件包:
(1)tomcat6,tomcat6-admin,tomcat6-docs,tomcat6-examples
(2)apache2,libapache2-mod_jk
(3)sun-java6-jdk(可選),但推薦使用。
操作步驟:
(1)安裝tomcat6,tomcat6-admin,sun-java6-jdk,但爲安裝完後測試建議同進安裝tomcat6-docs,tomcat6-examples實際應用可以不安裝這些
sun-java6-jdk在默認的軟件源裏是沒有的,所以在/etc/apt/sources.list加入以下源:
deb http://cz.archive.ubuntu.com/ubuntu karmic-updates main multiverse
如果安裝sun-java5-jdk,則加入以下源
deb http://cz.archive.ubuntu.com/ubuntu dapper main multiverse
加入新的源後:更新軟件源
#sudo apt-get update
#sudo apt-get install tomcat6 tomcat6-admin sun-java6-jdktomcat6-docs tomcat6-examples
(2)安裝libapache2-mod_jk
#sudo apt-get install libapache2-mod-jk
查看是否啓用該模塊
#ls /etc/apache2/mods-enabled
有jk.load,若是沒有則用
#sudo a2enmod
啓用該功能
安裝完後,會在/etc下建立一個libapache2-mod-jk目錄。
(3)安裝apache2
#sudo apt-get install apache2
若這兩個看到的內容相同,則tomcat與apache整合成功。也可以寫一個簡單的jsp網頁進行測試, /var/lib/tomcat6/webapps/ROOT/目錄下就存放網頁的地方。(4)修改workers.properties文件,在/etc/lipapache2-mod-jk目錄下
#sudo vim /etc/lipapache2-mod-jk/workers.properties
workers.tomcat_home=/usr/local/apache-tomcat-6.0.28/
workers.java_home=/usr/lib/jvm/java-6-sun-1.6.0.26
畫線部分是修改後的內容,其餘沒有特殊要求時默認即可。
(5)修改/etc/tomcat6/server.xml,去掉下面這句的註釋,使其生效。
AJP13協議使用的端口號是8009。(一般是去掉的請檢查)
從這個語句中,就能看出運行tomcat6時要加的端口號是8080,即http://IP:8080
(6)apache的配置,修改文件,添加以下內容。
初次運行apache時,還要在/etc/apache2/httpd.conf添加以下內容:
ServerName YourIpAddress:80
cp httpd_example_apache2.conf/etc/apache2/mods-av~/jk.conf
vi /etc/apache2/mods-available/jk.conf
JkLogLevel info
JkLogStampFormat "[%a %b %d %H:%M:%S %Y] "
JkRequestLogFormat "%w %V %T"
JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories
# Assign specific URLs to Tomcat. In general the structure of a
# JkMount directive is: JkMount [URL prefix] [Worker name]
# send all requests ending in .jsp to ajp13_worker
JkMount /*.jsp ajp13_worker
# send all requests ending /servlet to ajp13_worker
JkMount /*/servlet/ ajp13_worker
# JkUnmount directive acts as an opposite to JkMount and blocks access
# to a particular URL. The purpose is to be able to filter out the
# particular content types from mounted context.
# do not send requests ending with .gif to ajp13_worker
#JkUnMount /servlet/*.gif ajp13_worker
# JkMount / JkUnMount directives can also be used inside <VirtualHost>
# sections of your httpd.conf file.
JkUnMount /*.jpg ajp13_worker
JkUnMount /*.gif ajp13_worker
JkUnMount /*.swf ajp13_worker
JkUnMount /*.bmp ajp13_worker
JkUnMount /*.png ajp13_worker
JkUnMount /servlet/*.gif ajp13_worker
(7)修改默認的apache主機default,添加以下內容
#sudo vim /etc/apache2/sites-available/default
……………………
<Directory "/usr/share/doc/">
Options Indexes MultiViews FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
Allow from 127.0.0.0/255.0.0.0 ::1/128
</Directory>
JKMount /* ajp13_worker
</VirtualHost>
#sudo a2dissite default
#sudo a2ensite default
使配置生效。
(8)重啓apache2,tomcat6服務
#sudo /etc/init.d/apache2 restart
#sudo /etc/init.d/tomcat6 restart
若沒有提示錯誤信息,則配置沒有錯誤,若有就要看提示進行修改。
(9)測試
我這臺機器的IP是192.168.2.60,所以訪問時就是
測試tomcat測試Apache