热搜:NVER node 开发 php

windows+php5.5+apache2.4+tomcat+mod_jk配置

2024-08-18 17:05:01
windows+php5.5+apache2.4+tomcat+mod_jk配置

原因:

通常情况下apache运行的是80端口,比如apache启动后运行localhost:80就可以出现It works页面,这里的80也可以不写,会默认的。而tomcat启动时默认的端口是8080端口,需要在localhost后面加上8080,但这样比较不专业,域名还带端口,因此我们可以在tomcat的server.xml修改为80。但此时的问题出来了,当已有一个php写的项目在使用apache作为服务时,我们如何将让有php写的项目和jsp写的项目同时运行起来呢,这里就需要用到插件mod_jk,它可以将jsp要访问的url投入到tomcat中由tomcat来进行处理。

  Tomcat直接在官网下载解压就可以了(http://tomcat.apache.org/),当然启动tomcat的前提是你安装了jdk,必将JAVA_HOME=jdk安装目录 放在你的环境变量中了,这个都比较简单,我们主要讲解apache2.4和mod_jk的配置。

一:apache2.4及php5.5及mysql的配置

这部分我也不想多讲可以参考:http://jingyan.baidu.com/article/9faa723152c5d6473d28cb47.html

 

二:mod_jk配置

 首先需要从官网上下载apache版本所对应的mod_jk.so 文件放在apache的modules目录下面

然后在conf目录下面建立两个文件为workers.properties和mod_jk.conf

workers.properties内容:

workers.tomcat_home="D:/apache-tomcat7"workers.java_home="D:/Tools/java/jdk"# Defining a worker named worker1 and of type ajp13worker.list=worker1# Set properties for worker1worker.worker1.type=ajp13worker.worker1.host=localhostworker.worker1.port=8009worker.worker1.lbfactor=1

mod_jk.conf内容:(myproject 为jsp的工程名)

 

LoadModule jk_module modules/mod_jk.soJkWorkersFile conf/workers.propertiesJkLogFile logs/mod_jk.logJkLogLevel infoJkLogStampFormat "[%a %b %d %H:%M:%S %Y]"JkOptions +ForwardKeySize +ForwardURICompatUnparsed +ForwardDirectoriesJkRequestLogFormat "%w %V %T"JkMount /servlet/* worker1JkMount /*.jsp worker1JkMount /*.action worker1JkMount /*.do worker1JkMount /myproject/* worker1

注意:JkOptionszhong 中为ForwardURICompatUnparsed不是ForwardURICompat,否则会出现乱码

然后在apache的conf目录下httpd.conf中添加:

Include conf/mod_jk.conf

 

三:tomcat配置

将tomcat中server.xml中appBase改名指向你在apache配置工程所存放的位置就可以了。

这样你在浏览器中访问jsp的工程时,apache会自动将你的访问投递到tomcat中进行处理,这样就能实现php和jsp都无需写端口号而可以被访问。

备注:参考文献也有配置virtualHost, 这个可能是当tomcat所使用的端口号不能为外网访问时所做的,这里我没有研究,但是也正常工作了。

 

参考文献:

1:http://jingyan.baidu.com/article/9faa723152c5d6473d28cb47.htmlwin7(64位)php5.5-Apache2.4-mysql5.6环境安装

2: http://wenku.baidu.com/view/9288fa2058fb770bf78a55cf.html?re=viewwindows下apache+tomcat+php+mysql+zend optimizer

3:http://adaishu.blogspot.com/2008/08/apachetomcatstrutsphpmysql-apache.html

4:http://www.iteye.com/topic/80667  Apache+Tomcat+Php+Mysql的集成

5:http://www.linuxquestions.org/questions/linux-software-2/example-servlets-not-working-with-mod_jk-apache2-webserver-and-tomcat6's-web-container-692783/