前端时间跟朋友合作做了一个项目, 产品用到了Tomcat和PHP,我使用了Apache进行了集成, 由于以前没有配置过PHP,后来也是在网上找资料,慢慢摸索,最后成功配置! 由于整个过程确实比较繁琐, 特写下来与大家共享(其中也参考了网上的指南):
一 安装
(这里的环境操作系统是Windows 2000,在windows xp或2003下也应该支持,但没有亲身测试过):
1.
安装HTTP
服务器 Apache2.2:
通过以下链接下载Apache2.2并安装成功:
提示1: 安装时注意把安装目录设为c:\Apache2.2;
提示2: 安装过程中需要输入邮件地址,这里一定要输入, 否则完成后再配置就比较麻烦(运行Apache时会出错)
提示3: 使用端口80
测试是否安装成功: 安装完成后, 启动Http Server(所有程序->Apache Http Server 2.2.4
àControl Apache Server—)Start), 新开一个浏览器并输入
http://localhost/, 假如出现了”It works” 则证明安装成功
2.
安装PHP5.2.0(
解压版)
通过该网站(
http://www.tech126.com/html/soft/php/20070703/1575.html) 找到PHP5.2.0下载并解压, 或直接访问
http://cn.php.net/distributions/php-5.2.0-Win32.zip 得到该压缩软件, 下载完成后解压,假设解压到E盘根目录, 路径应该是E:\php-5.2.0-Win32. php5.2.0注意必须是解压版, 如果是msi安装版则其配置有可能是不同的, 这里不再陈述
3.
安装JDK1.5.0:
去Sun的官方网下载JDK1.5.0 update 12,这里给出一个链接:
http://java.sun.com/javase/downloads/index_jdk5.jsp 选择页面中第3个(
JDK 5.0 Update 12)点按钮,并根据提示跳转两个页面后到达一个下载页面, 由于这里需要的是windows运行环境, 挑选JDK时是
Windows Platform - Java Development Kit 5.0 Update 12
即可
,
可选择离线版或者在线版。
安装完成后,在
windows
中增加环境变量指向
jdk
目录(我的电脑
à
属性
à
高级
à
环境变量)新建:
变量名为
JAVA_HOME,
值为
c:\jdk1.5.0_12.
(安装时注意把安装目录设为
C:\jdk1.5.0_12
)
4.
安装Tomcat5.0
从以下地址下载并安装:
假设安装路径为E盘根目录, 安装后Tomcat目录为E:\Tomcat 5.0
apache2.2, PHP5.2.0以及Tomcat5.0运行集成运行在一起, 其集成配置对于一个生手来讲还是比较复杂的, 这里将详细描述期集成过程(该集成已经经实际操作过,如果不成功请确认每一个细小步骤是否有遗漏或错误)
1.
Apache2.2
和PHP5.2.0
的集成配置
1)
Apache
端,配置conf文件(conf文件指在apache目录\conf\httpd.conf文件):
1. 在加载模块区添加:
LoadModule php5_module E:/php-5.2.0-Win32/php5apache2_2.dll //这个变了,记得以前是php5apache2.dll
2. 在添加类型区添加:
AddType application/x-httpd-php .php //使apache能处理php类型的文件
AddType application/x-httpd-php-source .phps
3. ScriptAlias /php/ “ E:/php-5.2.0-Win32” //指定PHP脚本的目录,这个没变
4.改DocumentRoot的时候要注意在修改目录的时候,一定要修改两个地方
DocumentRoot “D:/…...”
与 <Directory “D:/…..”> 两地方的路径要一致,不然会发送访问拒绝的错误.
5. 定位DirectoryIndex:
<IfModule dir_module>
DirectoryIndex index.php index.php.var index.htm index.htm.var index.xml index.xml.var
</IfModule>
这里比以前多了<IfModule dir_module>标签.
6.AddDefaultCharset 这个属性找不到了!估计字符问题APACHE已经使用标准的编码方式.
LoadModule php5_module E:/php-5.2.0-Win32/php5apache2_2.dll //这个变了,记得以前是php5apache2.dll
2. 在添加类型区添加:
AddType application/x-httpd-php .php //使apache能处理php类型的文件
AddType application/x-httpd-php-source .phps
3. ScriptAlias /php/ “ E:/php-5.2.0-Win32” //指定PHP脚本的目录,这个没变
4.改DocumentRoot的时候要注意在修改目录的时候,一定要修改两个地方
DocumentRoot “D:/…...”
与 <Directory “D:/…..”> 两地方的路径要一致,不然会发送访问拒绝的错误.
5. 定位DirectoryIndex:
<IfModule dir_module>
DirectoryIndex index.php index.php.var index.htm index.htm.var index.xml index.xml.var
</IfModule>
这里比以前多了<IfModule dir_module>标签.
6.AddDefaultCharset 这个属性找不到了!估计字符问题APACHE已经使用标准的编码方式.
2)
PHP
端
1.
把
php
目录下的
php.ini-dist
改名为
php.ini
复制到
c:\windows(
或
:\winnt
视操作系统而定
),
把
php5ts.dll
和
libmysql
复制到
c:\windows\system32(
或
:\winnt\system32
视操作系统而定
)
下
也可以设个 PHPRC 的环境变量指定 php.ini 的位置
2. 打开 E:\php-5.2.0-Win32 下的 php.ini 文件 , 查找 extension_dir, 按以下进行添加 :
extension_dir = “extension_dir = “E:\php-5.2.0-Win32\ext”” //PHP5.0 安装目录里的 ext 文件夹用于定位 DLL 文件
在 extension 区选择一些常用的 PHP 的 DLL 文件 :
extension=php_mysql.dll // 扩展 php_mysql.dll, 可以使用 mysql 语句了
extension=php_gd2.dll // 允许建立,修改图片
extension=php_ming.dll //swf 支持
extension=php_dbase.dll //maplab 需要 php_dbase 支持
这些因人而异什么时候需要什么时候加 , 有的时候还要另外下载 dll 文件
也可以设个 PHPRC 的环境变量指定 php.ini 的位置
2. 打开 E:\php-5.2.0-Win32 下的 php.ini 文件 , 查找 extension_dir, 按以下进行添加 :
extension_dir = “extension_dir = “E:\php-5.2.0-Win32\ext”” //PHP5.0 安装目录里的 ext 文件夹用于定位 DLL 文件
在 extension 区选择一些常用的 PHP 的 DLL 文件 :
extension=php_mysql.dll // 扩展 php_mysql.dll, 可以使用 mysql 语句了
extension=php_gd2.dll // 允许建立,修改图片
extension=php_ming.dll //swf 支持
extension=php_dbase.dll //maplab 需要 php_dbase 支持
这些因人而异什么时候需要什么时候加 , 有的时候还要另外下载 dll 文件
3.
修改
c:\windows\system32
下的
php.ini
文件找到文件中对应变量并进行修改
:
session.save_path = “C:\Apache2.2\ymiao\sessiontmp”
这个是设定会话变量的路径
session.auto_start =1 // 自动开始会话变量
cgi.force_redirect = 1 改成 cgi.force_redirect = 0
这样做是强迫不运行在 cgi 模式下
register_globals 默认 Off ,改成 on
session.auto_start =1 // 自动开始会话变量
cgi.force_redirect = 1 改成 cgi.force_redirect = 0
这样做是强迫不运行在 cgi 模式下
register_globals 默认 Off ,改成 on
3)
测试集成是否成功
:
创建一个文件
(
名为
index.php),
加入以下内容
php works!
把该文件放到
apache
安装目录
\htdocs\
下
,
重启
apache,
并新开一个浏览器
,
输入
http://localhost/index.php, 如果看到上面输入的内容则说明php和apache集成成功
2.
Apache2.2
和Tomcat 5.0
集成配置
1)
apache
端,
a.将mod_jk-apache-2.2.4.so文件(此文件是关联Apache和Tomcat的运行文件)到apache安装目录\ modules\下
b.配置httpd.conf文件,将以下内容加入到conf文件的最末端:
#设置Apache与Tomcat之间的连接,让Apache遇到jsp文件时,在后台将其交由Tomcat去处理
LoadModule jk_module modules/mod_jk-apache-2.2.4.so
JkWorkersFile "E:/Tomcat 5.0/conf/workers.properties"
JkLogFile "E:/Tomcat 5.0/logs/mod_jk2.log"
JkLogLevel info
#CustomLog logs/shsc-access_log.txt common
#让Apache支持对servlet传送,用以Tomcat解析
JkMount /servlet/* ajp13
JkMount /*.jsp ajp13
JkMount /*.fc ajp13 JkMount /join ajp13
JkMount /css/* ajp13
JkMount /bdunion.txt ajp13
JkMount /pictures/* ajp13
JkMount /images/* ajp13
JkMount /getpwd ajp13
JkMount /addresearchvote ajp13
JkMount /research/* ajp13
JkMount /logout ajp13
JkMount /js/* ajp13
JkMount /dwr/* ajp13
JkMount /about ajp13
JkMount /duty ajp13
JkMount /faq ajp13
JkMount /privacy ajp13
JkMount /login ajp13
JkMount /verifycode ajp13
JkMount /search/* ajp13
JkMount /search ajp13
JkMount/contact ajp13
JkMount/member/* ajp13
|
2)
Tomcat
端:
a.
创建一个文件(名为mod_jk2.log),放到在tomcat安装目录\ logs目录下
b.
创建一个文件(名为),放到tomcat安装目录\conf目录下,在文件中增加内容
workers.tomcat_home=E:\Tomcat 5.0 #让mod_jk模块知道Tomcat
workers.java_home=C:\jdk1.5.0_11#让mod_jk模块知道j2sdk
ps=\ worker.list=ajp13#模块版本,现有ajp14了,不要修改
worker.ajp13.port=8009#工作端口,若没占用则不用修改
worker.ajp13.host=localhost#本机,若上面的Apache主机不为localhost,作相应修改
worker.ajp13.type=ajp13#类型 worker.ajp13.lbfactor=1#代理数,不用修改
|
c.
(如果tomcat安装目录\conf下没有这个文件)创建jk2.properties并放到该目录下, 在文件中加入以下内容:
## THIS FILE MAY BE OVERRIDEN AT RUNTIME. MAKE SURE TOMCAT IS STOPED
## WHEN YOU EDIT THE FILE.
## COMMENTS WILL BE _LOST_
## DOCUMENTATION OF THE FORMAT IN JkMain javadoc.
# Set the desired handler list
# handler.list=apr,request,channelJni
#
# Override the default port for the socketChannel
# channelSocket.port=8019
# Default:
# channelUnix.file=${jkHome}/work/jk2.socket
# Just to check if the the configis working
# shm.file=${jkHome}/work/jk2.shm
# In order to enable jni use any channelJni directive
# channelJni.disabled = 0
# And one of the following directives:
# apr.jniModeSo=/opt/apache2/modules/mod_jk2.so
# If set to inprocess the mod_jk2 will Register natives itself
# This will enable the starting of the Tomcat from mod_jk2
# apr.jniModeSo=inprocess
|
3)
测试Tomcat
和Apache
集成是否成功:
启动Tomcat(Tomcat安装目录\bin\startup.bat,重启Apache, 新打开浏览器并输入
http://localhost/index.jsp 如果看到出来的是Tomcat欢迎界面则说明集成成功!
经过以上的大步骤
,
完成了运行环境的安装以及集成配置
,
这是最复杂的部分
,
恭喜你
!
注: 以上配置在我的比客书评网(http://www.bikee.com.cn)中正式运行, 如果完全对上, 应该没有问题,