apache tomcat 整合php和jsp

整合apache和tomcat一直是很多人头痛的问题,在网上搜索很多资料都不能用,那个可是极度郁闷.
自己在整合之路上也遇到很多问题,前前后后一年多,在最终反复查询各种资料,终于整合成功了.废话不多说,接下来就教你如何整合这两大web服务器,同时不需要将php.ini放在windows下面的方法.

准备工作:
apache服务器:
http://httpd.apache.org/
我用的是目前最新的版本 2.2.8 是否需要ssl需要用户自己选择,本文不涉及ssl

php编译:
http://www.php.net/downloads.php
我用的是目前最新的版本 5.2.5 需要php4的自己下载php4来配置安装,配置过程大同小异

tomcat服务器:
http://tomcat.apache.org/
我用的版本是 5.5.17 需要使用其他版本的可以自己选择

mysql数据库服务器:
http://www.mysql.com/
我用的版本是 5.0.41 需要使用其他版本的可以自己选择

jk_mod(apache和tomcat的整合插件):
http://archive.apache.org/dist/tomcat/tomcat-connectors/jk/binaries/win32/
我下载的是 jk-1.2.25 下面的
mod_jk-apache-2.2.4.so 本来是想下载最新的,可是今天死活都下载不下来,不管了,就先用这个了.
大家可以到
http://apache.mirror.phpchina.com/tomcat/tomcat-connectors/jk/binaries/win32/jk-1.2.26/
下载目前最新的
mod_jk-1.2.26-httpd-2.2.4.so

jdk(sun公司java的编译工具):
http://java.sun.com/javase/downloads/index.jsp
大家可以选择自己想要的版本,这个没有限制.但是一定要配置好环境变量.

好了,这些东西都下载完后就开始我们的整合之旅,我安装的位置是D盘,大家根据自己的需要更改安装位置.
首先安装jdk环境.
jdk的安装目录自己自己定,为我自己需要做java的开发,所以我安装的位置是D:\Java,在安装的时候jdk和jre安装的位置就是 D:\Java\jdk 和 D:\Java\jre 视情况而定.
java安装完成后就要配置环境变量了:我的电脑右键》属性》高级 选项卡》环境变量
在“系统变量”新建三个环境变量
变量名: Java_Home
变量值: D:\Java\jdk
----------------
变量名: classpath
变量值: .;%Java_Home%\lib\dt.jar;%Java_Home%\lib\tools.jar
----------------
变量名: path
变量值: %Java_Home%\bin
然后保存,在 开始》运行》cmd》确定》输入:java -version 回车可以看到java的版本信息,输入 javac -version 回车可以看到javac的版本,这样你的java环境就安装完成了.

接下来我们安装tomcat,我的安装位置是:D:\WebServer\Tomcat
我把apache以及php和mysql都安装到这个目录.
在安装的时候会提示选择java的环境,主要java的环境变量设置正确,安装的时候就能自动识别出来,在后面配置服务器端口以及管理员密码的时候端口依然是8080,未改变,可以根据自己的需要更改,管理员密码自己自己设定.
安装好tomcat后可以在开始》所有程序 里面可以看到“Apache Tomcat 版本号”打开 Monitor Tomcat 就能看到tomcat的运行状态.这里就不细说了.
打开浏览器输入 http://localhost:8080 就能看到可爱的花猫.这样我们的tomcat就安装完成了.先停掉tomcat把为后面的配置做好准备.

接下来我们就安装apache,我的安装位置是:D:\WebServer\Apache
在安装的时候填写服务器信息的时候就按照eg.填写就是了.默认80为服务端口.在安装完成后,屏幕右下角也会出现显示apache运行状态的图标,如果是绿灯就表示apache在运行中,在浏览器中输入 http://127.0.0.1 就能看到 “正在工作”的提示.这个时候也停掉apache.

接下来我们就整合apache和php,让你的apache能解析php脚本,我把php解压到:D:\WebServer\php
在php中将php.ini-dist重命名为php.ini后打开他,然后做如下修改:
将extension_dir = "./"
extension_dir = "D:/WebServer/php/ext" 这样才能让php支持到mysql模块
找到;extension=php_bz2.dll

;extension=php_gd2.dll
;extension=php_mbstring.dll
;extension=php_mssql.dll
;extension=php_mysql.dll
;extension=php_shmop.dll
;extension=php_snmp.dll
;extension=php_soap.dll
;extension=php_sockets.dll
;extension=php_xmlrpc.dll
;extension=php_xsl.dll
前的分号去掉
找到session.save_path = "N;/path"去掉前面的分号并修改成
session.save_path = "D:/WebServer/phpSession"
这样我们的php就修改好了,接下来在D:\WebServer\Apache\conf里面找到httpd.conf
先找到 DocumentRoot 将这行修改成 DocumentRoot "D:/WebServer/Web"
再找到 <Directory 将这行修改成 <Directory "D:/WebServer/Web">
找到<IfModule dir_module>在index.html 后面添加 index.htm index.php index.jsp 就成如下样式
<IfModule dir_module>
    DirectoryIndex index.html index.htm index.php index.jsp
</IfModule>

接下来在一堆LoadModule后添加如下文字:
LoadFile "D:/WebServer/php/libmysql.dll"
LoadModule php5_module "D:/WebServer/php/php5apache2_2.dll"
PHPIniDir "D:/WebServer/php/php.ini"
这样你的Apache就支持php了,启动你的Apache,在D:\WebServerWeb 新建一个index.php文件在里面编辑内容:
<? phpinfo(); ?>然后通过浏览器输入http://127.0.0.1就能看到支持php的信息了.这个时候再次停掉Apache.

前面将Apache和php整合好了,下面我来安装MySQL 安装位置是 D:\WebServer\MySQL
MySQL的安装在网上较多,这里就不详细说明了.

接下来,我们重中之重 Apache和Tomcat的整合
将下载到的Apache和Tomcat的整合插件重新命名为 mod_jk.so放入D:\WebServer\Apache\modules
然后打开D:\WebServer\Apache\conf 下的 httpd.conf
然后在最后添加如下文字:
LoadModule jk_module modules/mod_jk.so
JkWorkersFile "D:/WebServer/Apache/conf/workers.properties"
JkMount /*servlet*/* ajp13
JkMount /*.jsp ajp13
这里为什么这里写等下我再解释
保存后再在D:/WebServer/Apache/conf下面建立一个workers.properties文件,他的内容如下,你可以完全照抄:
workers.Tomcat_Home=D:\WebServer\Tomcat
workers.Java_Home=D:\Java\jdk
ps=\
# worker.list=ajp13 
worker.list=ajp12,ajp13

worker.ajp12.port=8007
worker.ajp12.host=localhost
worker.ajp12.type=ajp12
worker.ajp12.lbfactor=1
worker.ajp13.port=8009
worker.ajp13.host=localhost
worker.ajp13.type=ajp13
worker.ajp13.lbfactor=1

worker.loadbalancer.type=lb
worker.loadbalancer.balanced_workers=ajp12, ajp13

worker.inprocess.type=jni 
worker.inprocess.class_path=$(workers.tomcat_home)$(ps)classes 
worker.inprocess.class_path=$(workers.tomcat_home)$(ps)lib$(ps)jaxp.jar
worker.inprocess.class_path=$(workers.tomcat_home)$(ps)lib$(ps)parser.jar
worker.inprocess.class_path=$(workers.tomcat_home)$(ps)common$(ps)lib$(ps)jasper.jar
worker.inprocess.class_path=$(workers.tomcat_home)$(ps)common$(ps)lib$(ps)servlet.jar
worker.inprocess.class_path=$(workers.tomcat_home)$(ps)common$(ps)lib$(ps)webserver.jar
worker.inprocess.class_path=$(workers.java_home)$(ps)lib$(ps)tools.jar
worker.inprocess.cmd_line=-config
worker.inprocess.cmd_line=$(workers.tomcat_home)/conf/jni_server.xml
worker.inprocess.cmd_line=-home 
worker.inprocess.cmd_line=$(workers.tomcat_home)
worker.inprocess.jvm_lib=$(workers.java_home)$(ps)jre$(ps)bin$(ps)classic$(ps)jvm.dll
worker.inprocess.stdout=$(workers.tomcat_home)$(ps)inprocess.stdout
worker.inprocess.stderr=$(workers.tomcat_home)$(ps)inprocess.stderr
worker.inprocess.sysprops=tomcat.home=$(workers.tomcat_home)
好了,到这里就打工告成了,在网上随便找一个jsp探针,重命名为index.jsp放入D:\WebServer\Web 下面,启动Apache和Tomcat 在浏览器中输入  http://127.0.0.1/index.jsp就能看到这个系统的环境了.

接下来我来解释一下为什么在httpd.conf最后添加的是
JkMount /*servlet*/* ajp13
JkMount /*.jsp ajp13
这个连个是指定的类型,后面的ajp13就不要管了,如果你的jsp程序后缀还有其他的就可以在这里添加如:
JkMount /*.do ajp13
这样的写法就可以了
JkMount /*servlet*/* ajp13这个是为了支持servlet,好了就这样了.基于linux下面的我们还有成功过,如果你有什么问题可以给我留言.

接下来配置虚拟目录:

#发布网站

一、配置httpd.conf文件
1. 用记事本打开apache 目录下conf/httpd.conf文件,找到如下模块
# Virtual hosts
#Include conf/extra/httpd-vhosts.conf

2. 去掉第二行前面的#,这样就开启了httpd-vhosts虚拟主机文件来达到配置虚拟主机的目的。


二、配置httpd-vhosts.conf文件
1. 用记事本打开apache 目录下conf/extra/httpd-vhosts.conf文件,进行如下配置:
NameVirtualHost *:80
<VirtualHost *:80>
    ServerAdmin ziqiang4917@163.com
    DocumentRoot D:/www/czworld
    ServerName www.51tuishou.com
    ServerAlias 51tuishou.com
    DirectoryIndex index.html index.jsp
    JkMount /* ajp13

<Directory D:/www/czworld>
Options Indexes FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>
</VirtualHost>

<VirtualHost *:80>
    ServerAdmin ziqiang4917@163.com
    DocumentRoot D:/www/17jfz
    ServerName www.17jfz.com
    ServerAlias 17jfz.com
    DirectoryIndex index.html index.jsp
    JkMount /* ajp13
        
<Directory D:/www/17jfz>
Options Indexes FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>
</VirtualHost>


详细说明:
#ServerAdmin         服务邮箱,写你自己的邮箱就好了
#DocumentRoot      网站的目录路径
#ServerName          网站的主域名
#ServerAlias            网站的别域名
#Directory                配置网站目录路径的访问权限,记得一定要是Allow from all


三、修改C:/windows/system32/drivers/etc/下的hosts文件:
1. 打开hosts文件,加入如下配置
127.0.0.1     www.51tuishou.com
127.0.0.1     www.17jfz.com
(注:这步不是必须的,如果不需要本地开发测试则可不设置此项)


注意:设置虚拟目录的时候,一定要加上 JkMount /* ajp13,不然会解析不了servlet。

tomcat运行多个网站是,需配置server.xml,设定对应的域名解析。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

才 神

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值