对于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