代 码 之 家
☆╭╮╭╮の
╭☆┴┴☆╮
│╭╮╭╮ │
╰○--○╯

基础整合完成:windows+apache2.2.4+php5.2.5+mySql5.0+tomcat5.5

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

logo_scurvejava

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

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

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

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

1

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时自动添加的

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

asf-logo-wide

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网站上有下载。

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文件。

mysql_100x52-64

     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试一下。

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

posted on 2008-10-22 15:49  娜娜  阅读(235)  评论(0编辑  收藏  举报