windows+apache2.2.4+php5.2.5+mysql5.0+tomcat5.5整合

南凌平台要集成很多内容,现在又来了,需要集成php应用。

辛苦两天,终于完成了一系列的整合,太开心了。用户透明的情况下解析了jsp、php、html、shtml等等。记录下来,备考。

1.安装apache
这里不多说了,我使用的是apache的安装版本。

2.安装Tomcat
又不说了,tomcat的安装版。

3.jdk的安装
继续跳过,安装版本安装

4.MySql的安装
飘~飘~飘过,安装版本

5.php的安装
这里要说一下,我一开始使用的是安装版本,由于我从来就没有接触过php,所以不太明白,打算使用安装版本跳过,但是不行,连接不上mysql,又不知道如何修改,只好从头下载了解压缩版本,解压缩,然后配置,具体配置如下:

5.1将php压缩文件解压缩到D:\php目录
5.2将php安装目录下的php.ini-dist文件改名为php.ini拷贝到windows安装目录
5.3修改php.ini文件将对应部分改为
max_execution_time = 30
max_input_time = 60
memory_limit = 128M
upload_max_filesize = 20M
short_open_tag = On ;为了配置Discuz论坛的修改
display_errors = On
post_max_size = 20M
extension_dir = "D:/php/ext"
extension=php_dba.dll
extension=php_dbase.dll
extension=php_fdf.dll
extension=php_gd2.dll
extension=php_imap.dll
extension=php_mbstring.dll
extension=php_mysql.dll
extension=php_mysqli.dll
zend_extension_manager.optimizer_ts="C:\Program Files\Zend\ZendOptimizer-3.3.0\lib\Optimizer-3.3.0" ;好像是安装zend optimizer时自动添加的
zend_extension_ts="C:\Program Files\Zend\ZendOptimizer-3.3.0\lib\ZendExtensionManager.dll" ;好像是安装zend optimizer时自动添加的

保存文件,就是这么多了,只多不少,由于是一次次调试,实际整合好后产生的结果,可能有些是多余的,但是只多不少,应该没有问题。如果想最小化这些成果,有时间再一点一点调试吧。这些修改有些是添加的;有些原来就有,但前面多了分号;有些是原来有,但修改了等号后面的文字。根据需要可调整。

6.整合

6.1 准备文件
下载mod_jk-1.2.26-httpd-2.2.4.so文件,这个文件在apache tomcat网站上应该有。

6.1 apache整合(修改httpd.conf文件)
在文件中对应修改
LoadModule php5_module "D:/php/php5apache2_2.dll"
LoadModule jk_module modules/mod_jk-1.2.26-httpd-2.2.4.so
AddType application/x-httpd-php .php
JkWorkersFile "D:\Tomcat5.5\webapps\ROOT\workers.properties"
JkMount /servlet/* ajp13
JkMount /*.jsp ajp13
JkMount /*.do ajp13

保存文件即可,网上有些文章说,这里去掉proxy之前的#,使用代理
#LoadModule proxy_module modules/mod_proxy.so
#LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
去除这两句话前面的#,结果发现这种方法只能把所有的请求全部转发到tomcat中,不是我需要的,仅仅将需要jsp解析的部分交给tomcat。找了很多页面,才找到最后采用的这种方法。

so文件根据不同版本的Tomcat可能不同,在apache tomcat网站上有下载。

6.2 tomcat整合
与上面的JkWorkersFile中路径相同的地方建立workers.properties文件,文件内容如下:

workers.tomcat_home=D:\Tomcat5.5
workers.java_home=D:\JDK1.5
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.balance_workers=ajp12, ajp13
worker.inprocess.type=jni
worker.inprocess.class_path=$(workers.tomcat_home)$(ps)lib$(ps)tomcat.jar
worker.inprocess.cmd_line=start
worker.inprocess.jvm_lib=$(workers.java_home)$(ps)jre$(ps)bin$(ps)classic$(ps)jvm.dll
worker.inprocess.stdout=$(workers.tomcat_home)$(ps)logs$(ps)inprocess.stdout
worker.inprocess.stderr=$(workers.tomcat_home)$(ps)logs$(ps)inprocess.stderr

保存,这里要调整tomcat_home\java_home路径。由于端口都使用的是tomcat默认的端口,所以没有修改,如果修改这个端口,可能需要修改%tomcat_home%/conf/server.xml文件。

6.2 mySql整合
mySql的前端可以用MySql-Front,比较习惯使用
mySql与Php的整合需要修改php.ini文件,上面的内容已经有了,注意不同的版本可能有稍微的变化就可以了。
需要拷贝fdftk.dll、msql.dll、libmySQL.dll三个文件到c:\windows\sysytem32目录下,这三个文件在php安装目录下,不同的php版本也可能有区别,同时不保证是最小集合,但应该是足够用的集合了。网上找到一些文章,大意基本没错,只是不同版本的php,这些文件不同。php的安装文件好像没有与MySql这部分的配置过程。

7.总结
这些配置都完成后,启动mysql、启动tomcat,再启动apache,应该没有问题了。要注意的是可能会由于版本的不同,具体文件不同,相应的修改文件就可以了。这种修改首先要判断是谁的错误,才好修改。原理上来说通过

LoadModule php5_module "D:/php/php5apache2_2.dll"
AddType application/x-httpd-php .php

apache集成了php。通过

LoadModule jk_module modules/mod_jk-1.2.26-httpd-2.2.4.so
JkWorkersFile "D:\Tomcat5.5\webapps\ROOT\workers.properties"
JkMount /servlet/* ajp13
JkMount /*.jsp ajp13
JkMount /*.do ajp13
和workers.properties文件,apache把.jsp、.do和servlet请求交给了tomcat。通过

php.ini的修改和几个文件拷贝到system32目录下php连接了mysql

哪部分出错,哪部分功能肯定就有问题。把我遇到过的问题这里罗列一下:

1.apache启动时错误
apache在启动时报告不能读取.so文件,可文件确实存在指定位置,可能的情况是这个so文件不是这个版本的apache需要的。
apache还可能报告端口被占用,这是由于你有其他程序占用了80端口(默认是80端口),你可以修改apache这个端口,或者找到80端口的占用程序,把那个程序停止,可以用命令netstat -ano 查找那个程序的pid,再在资源管理器中找到那个程序,杀掉那个进程,除了常用的IIS等服务器会占用这个端口外,发现讯雷也占用了这个端口。

2.php连接不到mysql数据库
一般不会是mysql的问题,可能是php.ini文件的配置问题,也可能是你的php文件配置方法不是你这个版本的php使用的方法。之前在网络上找到很多配置方法都不行,因为那些是php5的配置方法,而我用的是5.2.5,所以说,即使小版本的差异,依然是有差异的。千万注意版本差异。如果熟悉其他语言,可以用其他语言连接mysql试一下。

大概就这些了,希望能对需要的人有所帮助。另外,我只配置了过程,并不完全明白每一个配置的作用,并不完全明白每一行写法的意义,希望看到的人说一下,我也多知道些。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值