对于Apache+Tomcat+jsp+php的整合,针对不同的Tomcat和apache的版本,稍微有些区别。
一、所需软件
(1)JDK: jdk-7u15-windows-x64.exejdk的版本关系倒不是很大,不影响Apache和Tomcat的整合,配置环境变量时注意一些就行了.
(2)Apache:httpd-2.2.25-win32-x86-no_ssl.msi
apache版本对整合影响不是太大,需要注意的是整合Tomcat时加载模块(modules)时 mod_jk.so 文件的版本。 apche的版本必须与mod_jk-**.so的版本相同.主要就是不同版本使得配置麻烦,而且还没用!
官网: 详细的下载地址:
(3)Tomcate:apache-tomcat-8.0.3.exe
官网:
(4)mod_jk.so
详细的下载地址:
注意: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 .phpAddType application/x-httpd-php-source .phpsAddType 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><?phpphpinfo();?></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不同的机器则需要设置IPworker.ajp13.type=ajp13 #协议类型,不能改变,会出问题worker.ajp13.lbfactor=1 #负载平衡因子
所有安装文件和配置文件下载地址: