windows2003下安装及配置Jdk1.6+Tomcat6+Apache2.2.x+PHP5+MySql5环境详解

时间:2022-10-22 00:18:34

== 软件版本说明 ==
1、JDK1.6 :http://java.sun.com   jdk-6u7-windows-i586-p.exe
2、tomcat6.0.16:http://tomcat.apache.org/download-60.cgi   apache-tomcat-6.0.16.exe 或 apache-tomcat-6.0.16.zip
3、mysql5.0.24:http://dev.mysql.com/downloads/   mysql-5.0.24a-win32.zip
4、mysql-connector-java-5.0.8-bin.jar
5、Apache2.2.6:http://httpd.apache.org/download.cgi   apache_2.2.6-win32-x86-no_ssl.msi
6、php-5.2.4:http://www.php.net/ php-5.2.4-Win32.zip
7、mod_jk1.2.x:http://www.apache.org/dist/tomcat/tomcat-connectors/jk/binaries/    mod_jk-1.2.28-httpd-2.2.3.so     Apache 与 tomcat的整合就是用它连接的.


我用的是目前最新的版本,基本上来讲,新旧版本之间大同小异,如果遇到了问题,大家多研究一下就好了。

== 软件安装流程 ==
我的软件安装流程:JDK -> tomcat -> mysql -> Apache -> mod_jk整合 -> php -> 测试

== 安装与配置 ==
一、JDK安装
1、下载JDK并安装,我的路径是:D:/java/jdk16
3、添加JAVA环境变量(我的电脑右键->属性->高级->环境变量->系统变量),这里java_home和jre路径都是你安装的路径,要对应上;
        JAVA_HOME   设置变量值 D:/java/jdk16
        PATH        追加变量值 .;%JAVA_HOME%;%JAVA_HOME%/bin;
        CLASSPATH   设置变量值 .;%JAVA_HOME%/bin;%JAVA_HOME%/jre/bin;%JAVA_HOME%/lib;
4、测试一下是否安装成功
   显示java版本信息,在命令行模式下输入
   C:/>java -version
   java version "1.6.0_06"
   Java(TM) SE Runtime Environment (build 1.6.0_06-b02)
   Java HotSpot(TM) Client VM (build 10.0-b22, mixed mode, sharing)



二、Tomcat安装
1、下载tomcat的安装版或zip版并安装,我的安装路径是:E:/java/tomcat60
2、添加TOMCAT环境变量(我的电脑右键->属性->高级->环境变量->系统变量)
         系统变量:TOMCAT_HOME
         值为 D:/java/tomcat60
3、部署一个新项目test,去conf/下配置server.xml
    <Context path="/test" docBase="E:/myweb/test" reloadable="true"   />
    docBase是你程序的目录,假设放在E根目录下
    这样新项目test就建立了,重启Tomcat,访问http://127.0.0.1:8080/test就可以看到你的目录了
4、将mysql-connector-java-5.0.8-bin.jar 复制到E:/java/tomcat60/lib下,这样就可以访问数据库了

      
三、MySql安装
1、下载Mysql并安装,安装很简单的,这里就不详解了,我选择的UTF-8编码;

四、Apache安装
1、下载apache的Windows版本安装文件,windows的有加装openssl的和未加装的,openssl表示可以是使用HTTPS。
2、点击安装包,直接安装即可,我的安装路径是:D:/Apache22
3、安装完成就可以通过http://localhost/访问了。
4、增加一个目录如,test,修改conf下的httpd.conf文件。
#添加虚拟目录test,可以通过http://localhost/test来访问测试。
Alias /test    "E:/myweb/test"
<Directory "E:/myweb/test">
    Options Indexes FollowSymLinks
    AllowOverride None
    Order allow,deny
    Allow from all
</Directory>
   
#禁止访问E:/test/下的WEB-INF目录
<Directory "E:/myweb/test/WEB-INF">
Order allow,deny
</Directory>

#目录索引默认文件,增加index.jsp index.php等
<IfModule dir_module>
DirectoryIndex index.html index.jsp index.do index.php index.jspx
</IfModule>

   
五、mod_jk连接Apache与Tomcat
1、下载mod_jk。
2、把得到mod_jk-1.2.28-httpd-2.2.3.so文件放到Apache的modules目录下。
3、在apache/conf文件下建立mod_jk.confworkers.properties文件。
4、在mod_jk.conf文件里添加以下内容:
# Load mod_jk module 载入mod_jk模块,地址对应正确
LoadModule jk_module modules/mod_jk-1.2.28-httpd-2.2.3.so
# 对应刚新建的workers.properties文件
JkWorkersFile conf/workers.properties
# jk日志文件
JkLogFile logs/mod_jk.log
# jk日志的级别,参数有[debug/error/info]
JkLogLevel info
# Select the log format
JkLogStampFormat "[%a %b %d %H:%M:%S %Y] "
# JkOptions indicate to send SSL KEY SIZE,
JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories
# JkRequestLogFormat set the request format
JkRequestLogFormat "%w %V %T"
   
# 所有的jsp, do servlet文件交由ajp13处理
JkMount /servlet/* ajp13    
JkMount /*.jsp ajp13
JkMount /*.do ajp13
  
# JkMount 表示使用jk来加载, JkUnMount表示不使用
# JkMount /test/* ajp13 表示把test目录下的所有文件以及子目录都交给tomcat处理
# 一般是jsp和servlet程序交由tomcat处理,静态文件图片等仍然由apache处理
# 可以根据需要来设定,比如只把test/*.jsp交给tomcat处理

5、在workers.properties文件里添加   
# 到 Tomcat 服务器的连接定义文件,可以参照下面链接配置。但是这些配置不是必须的,空文件或者不使用此文件也可以正常使用
workers.tomcat_home=D:/java/tomcat60
workers.java_home=D:/java/jdk16
ps=/
worker.list=ajp13
worker.ajp13.port=8009
worker.ajp13.host=localhost
worker.ajp13.type=ajp13
worker.ajp13.lbfactor=1
#tomcat_home让mod_jk模块知道tomcat的位置
#java_home让mod_jk模块知道jre的位置
#list是模块版本
#port是工作端口,若没占用则不用修改
#host本机,若apache主机不为localhost,可作相应修改
#type是类型ajp13
#代理数,不用修改

6、修改Apache里的con/httpd.conf文件
#装载jk模块,以支持ajp13
Include conf/mod_jk.conf
#配置httpd.conf,参见http://httpd.apache.org/docs/2.2/configuring.html

五、PHP安装
1、下载php压缩包,解压到D:/php目录下。
2、配置apahe下的httpd.conf文件,把PHP模块装载进来。查找 #LoadModule ssl_module modules/mod_ssl.so ,并在后面添加如下代码:

# For PHP 5 do something like this:   (注意下面php5apache2_2.dll所在的位置)
LoadModule php5_module "D:/php/php5apache2_2.dll"
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps

# configure the path to php.ini   (配置php.ini的位置)
PHPIniDir "D:/php"

3、配置PHP.ini文件
     (1) 把php目录(D:/php/php.ini-dist)下的php.ini-dist改名为php.ini
     (2) 修改extension_dir指定加载模块的路径,把extension_dir = "./" 改成 extension_dir = "D:/php/ext"
     (3) 扩展相应的PHP功能,通过查找,然后把extension前的分号去掉即可
    extension=php_mysql.dll    //修改后才可以使用mysql语句
    extension=php_gd2.dll      //允许建立,修改图片
    extension=php_ming.dll     //swf支持
    extension=php_dbase.dll    //maplab需要php_dbase支持
    这些因人而异什么时候需要什么时候加,有的时候还要另外下载dll文件
     (4) 再把将D:/php目录下的libmysql.dll文件复制到 D:/Apache22/bin 下,配置就OK了。




六、测试
1、在test目录下建立一个test.php,输入
   <?php
   header( "Content-type: text/html; charset=gbk");
   header( "Last-Modified: " . gmdate( "D, d M Y H:i:s" ) . " GMT" );
   header( "Cache-Control: no-cache, must-revalidate" );
   header( "Pragma: no-cache" );
   ?>

   <pre>
   This is a PHP Page. I am Jarry!
   PHP Information:
   </pre>
   <?php
   $conn = mysql_connect("localhost","用户名","密码");
   if ($conn) {
       echo "Mysql Connect Successfully!";
   } else {
       echo "Mysql Connect Failed!";
   }
   echo phpinfo();
   ?>
  
2、在test目录下建立一个test.jsp,输入
   <%@ page language="java" contentType="text/html; charset=gbk" pageEncoding="gbk"%>
   <%@ page import="java.sql.*"%>
   <%@ page import="javax.sql.*"%>
   <%@ page import="javax.naming.*"%>
   <pre>
   This is a Java Server Page. I am Jarry!
   JSP+MySql JDBC Driver and Connection Pool Test:
   </pre>
   <%
   out.println("JDBC驱动检查<br>");
   try {
       Class.forName("com.mysql.jdbc.Driver");
       out.println("检查成功!<br>");
   } catch (ClassNotFoundException cnfe) {
       out.println("JDBC驱动创建失败!<br>");
       cnfe.printStackTrace();
   }
   out.println("<br>环境命名空间检查<br>");
   try {
       javax.naming.Context ctx = new javax.naming.InitialContext();
       javax.naming.Context envContext =
           (javax.naming.Context) ctx.lookup("java:/comp/env");
       out.println("检查成功!<br>");
   } catch (javax.naming.NamingException e) {
       out.println("环境变量上下文创建失败!<br>");
       e.printStackTrace();
   }
   %>
3、分别访问http://localhost/test/test.phphttp://localhost/test/test.jsp,如果能均能正常显示就表示整合成功。

作者:明人    作者的网站: 中国网络炒作联盟   中国合作建房网
2009年9月10日   (熬夜写的文章,转载请注明出处,谢谢!)