新聞中心
一 apache與Tomcat比較聯(lián)系
Apache支持靜態(tài)頁,Tomcat支持動態(tài)的,比如servlet等。一般使用Apache+Tomcat的話,Apache只是作為一個轉(zhuǎn)發(fā),對jsp的處理是由Tomcat來處理的。Apache可以支持php\cgi\perl,但是要使用Java的話,你需要Tomcat在Apache后臺支撐,將java請求由Apache轉(zhuǎn)發(fā)給Tomcat處理。

網(wǎng)站建設哪家好,找創(chuàng)新互聯(lián)!專注于網(wǎng)頁設計、網(wǎng)站建設、微信開發(fā)、小程序制作、集團企業(yè)網(wǎng)站建設等服務項目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了太和免費建站歡迎大家使用!
Apache是web服務器,Tomcat是應用(java)服務器,它只是一個servlet(jsp也翻譯成servlet)容器,可以認為是Apache的擴展,但是可以獨立于Apache運行。
這兩個有以下幾點可以比較的:
1、兩者都是apache組織開發(fā)的
2、兩者都有HTTP服務的功能
3、兩者都是免費的
不同點:
Apache是專門用了提供HTTP服務的,以及相關配置的(例如虛擬主機、URL轉(zhuǎn)發(fā)等等)
Tomcat是Apache組織在符合J2EE的JSP、Servlet標準下開發(fā)的一個JSP服務器
整合的好處是:
如果客戶端請求的是靜態(tài)頁面,則只需要Apache服務器響應請求
如果客戶端請求動態(tài)頁面,則是Tomcat服務器響應請求
因為jsp是服務器端解釋代碼的,這樣整合就可以減少Tomcat的服務開銷
二 Linux下Apache與Tomcat整合的簡單方法
1、準備,下載需要的文件。這里假定你已經(jīng)正確安裝配置好了JDK。
到Apache官方網(wǎng)站下載所需要的文件:
httpd-2.2.0.tar.gz
apache-tomcat-5.5.12.tar.gz
jakarta-tomcat-connectors-1.2.15-src.tar.gz
其中httpd和jakarta-tomcat-connectors為源碼包,apache-tomcat為二進制包。
2、安裝Apache。
# tar xzvf httpd-2.2.0.tar.gz
# cd httpd-2.2.0
# ./configure --prefix=/usr/local/apache2 --enable-so
# make
# make install
3、安裝Tomcat。
# cp apache-tomcat-5.5.12.tar.gz /usr/local/
# cd /usr/local
# tar xzvf apache-tomcat-5.5.12.tar.gz
# ln -s apache-tomcat-5.5.12 tomcat
4、編譯生成mod_jk。
# tar xzvf jakarta-tomcat-connectors-1.2.15-src.tar.gz
# cd jakarta-tomcat-connectors-1.2.15-src/jk/native
# ./configure --with-apxs=/usr/local/apache2/bin/apxs
# make
# cp ./apache-2.0/mod_jk.so /usr/local/apache2/modules/
5、配置。
在/usr/local/apache2/conf/下面建立兩個配置文件mod_jk.conf和workers.properties。
# vi mod_jk.conf
添加以下內(nèi)容:
# 指出mod_jk模塊工作所需要的工作文件workers.properties的位置
JkWorkersFile /usr/local/apache2/conf/workers.properties
# Where to put jk logs
JkLogFile /usr/local/apache2/logs/mod_jk.log
# Set the jk log level [debug/error/info]
JkLogLevel info
# Select the log format
JkLogStampFormat "[%a %b %d %H:%M:%S %Y]"
# JkOptions indicate to send SSL KEY SIZE,
JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories
# JkRequestLogFormat set the request format
JkRequestLogFormat "%w %V %T"
# 將所有servlet 和jsp請求通過ajp13的協(xié)議送給Tomcat,讓Tomcat來處理
JkMount /servlet/* worker1
JkMount /*.jsp worker1
# vi workers.properties
添加以下內(nèi)容:
# Defining a worker named worker1 and of type ajp13
worker.list=worker1
# Set properties for worker1
worker.worker1.type=ajp13
worker.worker1.host=localhost
worker.worker1.port=8009
worker.worker1.lbfactor=50
worker.worker1.cachesize=10
worker.worker1.cache_timeout=600
worker.worker1.socket_keepalive=1
worker.worker1.socket_timeout=300
再配置httpd.conf,作以下修改:
將Listen 80 修改為 Listen 127.0.0.1:80
將ServerName 修改為 ServerName LocalHost:80
在DirectoryIndex中添加 index.jsp
我的網(wǎng)頁放在/var/wwwroot下,所以要修改DocumentRoot
DocumentRoot "/var/wwwroot"
Options Includes FollowSymLinks
AllowOverride None
Order deny,allow
Allow from all
XBitHack on
Order deny,allow
Deny from all
增加關于加載mod_jk的語句:
LoadModule jk_module modules/mod_jk.so
Include /usr/local/apache2/conf/mod_jk.conf
最后編輯Tomcat的配置文件server.xml,在HOST段中加入:
在/var/wwwroot下建立一個index.jsp,啟動Apache和Tomcat,用瀏覽器訪問http://localhost/,應該可以看到正確的頁面了。
三 Windows下Apache與Tomcat的整合
準備工作:
1、 Apache 2.2.4
下載地址:http://cztele1.skycn.com/down/apache_2.2.4-win32-x86-no_ssl.zip
2、 Tomcat 6.0.16
下載地址:http://apache.mirror.phpchina.co ... e-tomcat-6.0.16.zip
3、 JDK
下載地址:http://cds.sun.com/is-bin/INTERS ... -windows-i586-p.exe
如果只是應用的話,也可以選擇安裝JRE,因為JRE比較小:)
4 JK-1.2.26-httpd-2.2.4
下載地址:http://www.apache.org/dist/tomca ... 2.26-httpd-2.2.4.so
注意JK的版本一定要與Apache版本相同。如果你的版本與我的不同,可以去官網(wǎng)下載,有多種版本,適用于各種操作系統(tǒng),下載適用的既可,地址:http://www.apache.org/dist/tomcat/tomcat-connectors/jk/binaries/
開始安裝:
軟件的安裝順序可以適當調(diào)整,但是JDK(JRE)一定要在Tomcat之前安裝:
1、安裝JDK(JRE)
此處默認、自定義安裝均可。安裝完成以后按下面的示例設置你的系統(tǒng)環(huán)境變量:我的電腦 -> 屬性 -> 高級 -> 環(huán)境變量 (這里要添加的是系統(tǒng)變量,非用戶變量)
JAVA_HOME = D:\Program Files\Java\jdk1.6.0_07
CLASSPATH = .;%Java_Home%\lib\tools.jar;%Java_Home%\lib\dt.jar;
PATH = %Java_Home%\bin;%PATH%
注意JAVA_HOME的路徑改為你的實際安裝路徑。其它兩個不變。
2、安裝Apache
此處注意,如果你本機已經(jīng)裝了IIS并且占用了80端口,你可以選擇禁用IIS或者給IIS指定其它端口,或者給Apache指定其它端口,根據(jù)實際情況進行設置。在Apache的安裝過程中要設置Network Domain和Server Name為Localhost,設置你的Email地址(這個一定要設置,不然Apache啟動不起來)。
安裝完成之后,如果apache用的是80端口,那么在瀏覽器中輸入 http://localhost ,如果使用的是其它端口例如81,則輸入 http://localhost:81 ,將會看到 Apache 的成功頁面。此時Apache已經(jīng)運行,在系統(tǒng)托盤可以看到它的圖標,雙擊打開可以對Apache服務進行控制,我們下面還要安裝Tomcat和JK,所以現(xiàn)在選擇 Stop 停止 Apache 服務。
3、安裝Tomcat
將Tomcat解壓到 D:\Program Files\Tomcat 下,設置環(huán)境變量:
CATALINA_BASE = D:\Program Files\tomcat
CATALINA_HOME = D:\Program Files\tomcat
CLASSPATH = %CATALINA_HOME%\lib\servlet-api.jar
運行 D:\Program Files\Tomcat\bin\startup.bat 啟動Tomcat,出現(xiàn)Tomcat頁面則表示安裝成功。
4、安裝JK
把 mod_jk-1.2.26-httpd-2.2.4.so 拷貝到 D:\Program Files\Apache2.2\modules 下。
下面進行服務器的配置:
1、配置Tomcat
查找Tomcat目錄下的 conf/server.xml文件,在
在這里,如果 path 不為空,則設置的是虛擬目錄,path 的值為虛擬目錄名。
查找Tomcat目錄下的 conf/workers.properties文件,并對比下方文本內(nèi)容,如有不同處,以下方文本為準進行修改。
workers.tomcat_home=C:\apache-tomcat-6.0.18 #讓mod_jk模塊知道Tomcat的位置
workers.java_home=D:\Program Files\Java\jre1.6.0_07 #讓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 #代理數(shù),不用修改
如果此文件不存在,則依以上內(nèi)容創(chuàng)建。對Tomcat的設置進行任何修改后都要重啟才可以生效。
2、配置Apache
打開D:\Program Files\Apache2.2\conf下的httpd.conf,在最后加入下面這段代碼并保存。
LoadModule jk_module modules\mod_jk-1.2.26-httpd-2.2.4.so
#此處mod_jk的文件為你下載的文件
JkWorkersFile "D:\Program Files\Tomcat\conf\workers.properties"
#指定tomcat監(jiān)聽配置文件地址
JkLogFile "D:\Program Files\Tomcat\logs\mod_jk2.log"
#指定日志存放位置
JkLogLevel info
#設置虛擬主機
#如果非虛擬主機,將
ServerAdmin localhost
DocumentRoot E:/wwwroot
#您的站點項目所在路徑,應與tomcat中的目錄設置相同,據(jù)說以上兩個必須同時設置才可以生效,沒有試過不同的時候會有什么情況
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等相關項,然后將該項的配置根據(jù)你的實際情況進行修改即可。我建議大家可以多多嘗試不同的配置,這是一種很有樂趣的體驗。
所有的修改完成以后,雙擊系統(tǒng)托盤中的Apache圖標,然后點擊Start啟動Apache服務。
在地址欄中分別輸入http://localhost/,與http://localhost:8080/若結(jié)果相同,Apache與Tomcat整合成功
安裝常見問題:
1.一啟動Apache出現(xiàn)“windows不能在本地計算機啟動Apache2”錯誤
多數(shù)情況是端口的問題,可能有其他軟件占用了80端口,最好把Apache的端口改成81端口就可以了
2.windows下查看80端口占用情況,適用于查看任何端口
開始–運行–cmd 進入命令提示符輸入netstat -ano 即可看到所有連接的PID 之后在任務管理器中找到這個PID所對應的程序如果任務管理器中沒有PID這一項,可以在任務管理器中選”查看”-”選擇列”,經(jīng)常,我們在啟動應用的時候發(fā)現(xiàn)系統(tǒng)需要的端口被別的程序占用,如何知道誰占有了我們需要的端口,很多人都比較頭疼,下面就介紹一種非常簡單的方法,希望對大家有用。
我們需要確定誰占用了我???的80端口
在windows命令行窗口下執(zhí)行:C:\>netstat -aon|findstr “80″
看到了嗎,端口被進程號為2044的進程占用,繼續(xù)執(zhí)行下面命令:
C:\>tasklist|findstr “2044″
avp.exe 2044 Console 0 37,680 K
很清楚吧,avp 卡巴監(jiān)聽80端口,調(diào)整卡巴網(wǎng)絡監(jiān)聽設置。
當然,如果你的80端口被其他程序占用,kill掉或者調(diào)整端口。
四完!
感謝,Thanks!
網(wǎng)站欄目:CentOS6下Apache和Tomcat整合
分享網(wǎng)址:http://m.fisionsoft.com.cn/article/dpohpod.html


咨詢
建站咨詢
