對於Apache+Tomcat+jsp+php的整合,針對不同的Tomcat和apache的版本,稍微有些區別。
一、所需軟件
(1)JDK: jdk-7u15-windows-x64.exe
jdk的版本關系倒不是很大,不影響Apache和Tomcat的整合,配置環境變量時注意一些就行了.
(2)Apache:httpd-2.2.25-win32-x86-no_ssl.msi
apache版本對整合影響不是太大,需要注意的是整合Tomcat時加載模塊(modules)時 mod_jk.so 文件的版本。 apche的版本必須與mod_jk-**.so的版本相同.主要就是不同版本使得配置麻煩,而且還沒用!
官網:http://httpd.apache.org/ 詳細的下載地址:http://apache.fayea.com/apache-mirror/httpd/binaries/win32/
(3)Tomcate:apache-tomcat-8.0.3.exe
(4)mod_jk.so
詳細的下載地址:http://www.apache.org/dist/tomcat/tomcat-connectors/jk/binaries/windows/
注意:apche的版本必須與mod_jk-**.so的版本相同.主要就是不同版本使得配置麻煩,而且還沒用! 我的apache是httpd-2.2.25-win32-x86-no_ssl.msi 所需要的文件如下圖:
二、安裝軟件
安裝過程網上很多資料這里就不貼出來了
我安裝的目錄如下:
三、配置運行Apache
1、修改httpd.conf
找到E:\service\Apache2.2\conf 中的httpd.conf 使用編輯器打開
(1).修改默認網站根目錄:
在E盤根目錄下建立文件夾WWW,以此作為網站的根目錄
DocumentRoot "D:/server/Apache Group/Apache2.2/htdocs"
改為DocumentRoot "E:/WWW"
<Directory "D:/server/Apache Group/Apache2.2/htdocs">
改為<Directory "E:/WWW">
(2).修改字符設置
apache解析中文網頁時會產生亂碼,
修改AddDefaultCharset ISO-8859-1為AddDefaultCharset GB2312
(3).修改默認主頁
當訪問目錄時,apache會自動導入的主頁,優先級以先后順序為准
把DirectoryIndex index.html index.html.var改為
DirectoryIndex index.html index.jsp index.php default.jsp default.php index.html.var
(4).設置錯誤頁面
這樣對於你的網站會更安全些,如果沒設置,別人在你的網址后隨便輸入一個路徑,會顯示404錯
誤,並且會顯示你的服務器版本號,服務器配置一目了然,為了避免這種情況,可以設置錯誤頁面。
當出現404錯誤,即找不到網頁時,把訪問者導入到一個錯誤頁面
找到:
#
# Customizable error responses come in three flavors:
# 1) plain text 2) local redirects 3) external redirects
#
# Some examples:
#ErrorDocument 500 "The server made a boo boo."
#ErrorDocument 404 /missing.html
#ErrorDocument 404 "/cgi-bin/missing_handler.pl"
#ErrorDocument 402 http://www.example.com/subscription_info.html
#
httpd.conf中的這一部分,#ErrorDocument 404 /missing.html
一行修改為ErrorDocument 404 /error/noFile.htm,其中noFile.htm為d:\server\www\error\下一個錯誤文件,需要你自己建立。當發生404錯誤時,進入noFile.htm頁面,可以提示網頁沒有找到。這樣就不可能看到你的服務器軟件信息了。也可以設置其它的錯誤導向的頁面,具體http響應錯誤編號請查閱相關資料。
重新啟動apache,如果沒意外,此時已經安裝成功,把靜態頁面放到d:\server\www\error\目錄下,看能不能成功解析。隨便輸入一個:http://localhost/sdagasgdasasg.htm,看是不是導向你設置的404錯誤,即noFile.htm錯誤頁面.
2、支持php
在#Include conf/extra/httpd-vhosts.conf 后面加
#配置php
LoadModule php5_module "E:/service/PHP/php5apache2_2.dll"
AddType application/x-httpd-php .php3 .php
AddType application/x-httpd-php-source .phps
AddType application/x-httpd-php .po .py .pl .hu
# PHPIniDir
PHPIniDir "E:/service/PHP"
#配置php END
在E:\WWW下建立網頁:index.php,內容為:
<html>
<head><title>php測試</title></head>
<?php
phpinfo();
?>
</html>
用文本編輯器編輯好為存為index.php,重新啟動apache,在IE中輸入http://localhost/index.php,如果出現php的
環境變量,說明php,安裝成功,如果不能解析<?php phpinfo(); ?>中的部分,則說明沒有成功安裝。
注意:LoadModule php5_module "E:/service/PHP/php5apache2_2.dll" 要和php文件中對應起來
四.Tomcat和Apache的整合配置
1、在E:\service\Apache2.2\modules文件夾中添加上面下載好的 mod_jk.so
2、在E:\service\Apache2.2\logs 文件夾中添加mod_jk.log
3、在E:\service\Apache2.2\conf\httpd.conf 文件中添加支持Tomcat模塊 如圖
LoadModule jk_module "E:/service/Apache2.2/modules/mod_jk.so"
#加載JK模塊
JkWorkersFile "E:/service/Tomcat 8.0/conf/workers.properties"
#指定先前配置的worker文件
JkLogFile "E:/service/Apache2.2/logs/mod_jk.log"
文件的最后添加
<VirtualHost *:80>
DocumentRoot E:/WWW
ServerName www.javen.com
DirectoryIndex index.php index.html index.html.var
JkMount /*WEB-INF ajp13
JkMount /*.jsp ajp13
JkMount /servlet/* ajp13
JkMount /*.do ajp13
JkMount /*.action ajp13
JkMount /Javenmy/* ajp13
</VirtualHost>
4、在E:\service\Tomcat 8.0\conf文件夾中添加workers.properties
workers.tomcat_home="C:\Program Files\Apache Software Foundation\Tomcat 8.0\" #讓mod_jk模塊知道Tomcat的安裝路徑
workers.java_home="C:\Program Files\Java\jdk1.7.0_45\" #讓mod_jk模塊知道jdk路徑
ps=\ #當前目錄
worker.list=ajp13 #這里是關鍵,名字要和httpd.conf的一致。如果這里改了httpd.conf也要改。
worker.ajp13.port=8009 #工作端口,tomcat的jk監聽端口,可以查看Server.xml中有port="8009"
worker.ajp13.host=localhost #Tomcat所在機器,如果安裝在與apache不同的機器則需要設置IP
worker.ajp13.type=ajp13 #協議類型,不能改變,會出問題
worker.ajp13.lbfactor=1 #負載平衡因子
所有安裝文件和配置文件下載地址:http://pan.baidu.com/s/1kTDil6Z