当前位置:首页 >> 网络编程

WIN2000+PHP+MYSQL+TOMCAT+JSP完全整合安装手册

一、前期准备情况

1。一个安装好的WIN2000服务器,注意:如果预装了IIS,请先将IIS服务停掉或禁用。

2。下栽软件

APACHE:版本:1.3.22 ——apache_1.3.22-win32-x86.msi

JDK:版本: 1.3 ——j2sdk1_3_0-win.exe

PHP: 版本: 4.0.4 ——php4.0.4pl1-win32.zip

MYSQL: 版本:3.23.32 ——mysql-3.23.32-win.zip 

TOMCAT:版本: 4.0.4 ——jakarta-tomcat-4.0.4.exe

Mod_jk:这是Jakarta组织开发的使Apache支持Tomcat的插件,比ApacheJserv更强大,因为ApacheJserv

只能用在Apache上,而不能用在别的WebServer 上,Mod_jk可以和很多服务器搭配起来用。 

下载地址:http://jakarta.apache.org/builds/jakarta-tomcat/release/v3.3/bin/win32/i386/

(如果在提供的网址内找不到相应的软件,请在各大网上软件库找,一般都有!或发邮件至apollo@risesun-cn.com)



3。准备好足够的干粮和水,作好反复安装和重新启动的心理准备,但只要细心按照要求去做,一次成功不是什么

难事!

4。做一口深呼吸,别在想MM了!开始安装!



二、安装开始

1。APACHE安装

第一步:运行apache_1.3.22-win32-x86.msi,一路点确定和接受就行,基本比较傻瓜,为了方便期间和符合我

的习惯我安装的默认路径是 c:\ ,这样就安装在C盘下的APACHE的路径下,同时默认域为root.dev。

第二步:(我在这里作了一个虚拟主机,此步可以不做,根据你自己的需求)

编辑c:\apache\conf\httpd.conf

找到 #NameVirtualHost * 

修改为 NameVirtualHost 192.168.0.16 #注意这个IP为你自己主机设的IP

找到 ServerName root.dev

修改为 #ServerName root.dev 

添加 

<VirtualHost 192.168.0.16>

ServerAdmin root@localhost

ServerName root.dev

DocumentRoot c:/apache/htdocs

ErrorLog c:/apache/logs/error_log

TransferLog c:/apache/logs/access_log

ScriptAlias /cgi-bin c:/apache/cgi-bin

</VirtualHost> 

第三步:将文件名 c:\apache\htdocs\index.html.en 改为c:\apache\htdocs\index.html 

第四步:重新启动,访问 http://root.dev 浏览正常,显示APACHE欢迎页



------------小小的成功!可以喝口水了!----------------------------





2。MYSQL安装

第一步: 解压 mysql-3.23.32-win.zip 到目录 D:\MYSQL

第二步: 进入D:\MYSQL 运行SETUP.EXE 一路回车,默认安装到 C:\MYSQL



------------这一步应该没有什么问题!-------------------------------





3。PHP安装

第一步: 解压 php4.0.4pl1-win32.zip 到目录 D:\PHP

第二步: 将D:\PHP下拷贝到C盘根目录下

第三步: 进入C:\PHP ,开始配置PHP

将文件名 php.ini-dist 改为 php.ini

同时拷贝 php.ini 和 php4ts.dll 到WIN2000的系统安装目录下

的 system32和system目录下 (很重要,别忘了)

再次修改APACHE的配置文件httpd.conf (忘了吧!在c:\apache\conf\httpd.conf)

添加:

LoadModule php4_module c:/php/sapi/php4apache.dll

AddType application/x-httpd-php .php4

ScriptAlias /php4/ "C:/php/"

Action application/x-httpd-php4 "/php4/php.exe"

AddType application/x-httpd-php4 .php 

第四步: 重新启动系统 

第五步: 测试

编写测试文件 info.php (拷贝到目录 c:\apache\htdocs\ 下)

文件内容:(就一行)

<? phpinfo(); ?> 

访问: http://localhost/info.php 或 http://root.dev/info.php

如果看到PHP的欢迎测试页面,说明安装成功!

到目前为止,你的系统已经可以运行PHP程序了!

你已经配置好了 win2000+apache+php+mysql



----------------成功在望!吃些干粮,想5分钟MM,上趟厕所,或者骚扰一下隔壁的大哥---------

---如果你能确定2件事就可以往下进行了:

1.你的智商确实比中国足协的那堆废物高

2.真的很想进入JSP的世界遨游





4。JDK的安装

第一步:直接运行 j2sdk1_3_0-win.exe,一路回车安装,我这里默认的安装路径为d:\jdk1.3

第二步:配置环境变量

在我的电脑上点击鼠标右键-属性-点选高级-点选环境变量

弹出环境变量对话框,新建以下变量名和值:

-------------------------------------

变量名:path

变量值:d:\jdk1.3\bin

变量名:JAVA_HOME

变量值:d:\jdk1.3

变量名:CLASSPATH

变量值:.\;d:\jdk1.3\lib\dt.jar;d:\jdk1.3\lib\tools.jar;

第三步:重新启动计算机使配置的环境变量生效



5。TOMCAT安装

第一步:直接运行安装jakarta-tomcat-4.0.4.exe,我这里默认的安装路径是c:\Apache Tomcat 4.0

这时如果单独启动TOMCAT(到Tomca目录下运行startup.bat启动Tomcat或在菜单栏运行start

tomcat),就已经可以运行JSP文件了,但是我们还没有将APACHE和TOMCAT集成在一起,因为

虽然TOMCAT有内置的一个APACHE的HTTP服务,但是他仅仅对JSP程序体现出比较好的执行效率

和性能,对于静态页面的处理速度远不如APACHE,所以为了一个完美的WEB系统,我们要将

APACHE和TOMCAT集成在一起!

(下面就是集成他们的具体配置步骤,请注意仔细认真,我搞了1天才终于搞定!)

第二步:先配置APACHE

打开c:\apache\conf\httpd.conf

添加以下语句:

#------------------------------------------

LoadModule jk_module libexec/mod_jk.dll 

AddModule mod_jk.c 

JkWorkersFile "c:\Apache Tomcat 4.0\conf\worker.properties" 

JkLogFile logs/mod_jk.log 

JkLogLevel info 

JkLogStampFormat "[%a %b %d %H:%M:%S %Y] " 

JkMount /*.jsp ajp13 

JkMount /servlet/* ajp13 

#-----------------------------------------------------

注意:以上语句的基本意思是:

第一、二句:指定APACHE和TOMCAT连接插件的位置和名称

第三句:指出mod_jk工作所需要的工作文件的位置

第七、八句:是将所有和jsp和servlet的请求通过Apj13的协议送给Tomcat,让Tomcat来处理

第三步:将下载的mod_jk.dllcopy到安装Apache目录下的libexec下就可以了

第四步:TOMCAT配置

首先是在c:\Apache Tomcat4.0\conf目录下建一个worker.properties

文件内容如下:

#----------------------------------------------------------

# $Header: /home/cvs/jakarta-tomcat/src/etc/Attic/workers.properties,v 1.3.2.2 2000/10/16 01:59:22 larryi Exp $ 

# $Revision: 1.3.2.2 $ 

# $Date: 2000/10/16 01:59:22 $ 





# workers.properties - 



# This file provides jk derived plugins with with the needed information to 

# connect to the different tomcat workers. 



# As a general note, the characters $( and ) are used internally to define 

# macros. Do not use them in your own configuration!!! 



# Whenever you see a set of lines such as: 

# x=value 

# y=$(x)something 



# the final value for y will be valuesomething 



# Normaly all you will need to modify is the first properties, i.e. 

# workers.tomcat_home, workers.java_home and ps. Most of the configuration 

# is derived from these. 



# When you are done updating workers.tomcat_home, workers.java_home and ps 

# you should have 3 workers configured: 



# - An ajp12 worker that connects to localhost:8007 

# - An ajp13 worker that connects to localhost:8009 

# - A jni inprocess worker. 

# - A load balancer worker 



# However by default the plugins will only use the ajp12 worker. To have 

# the plugins use other workers you should modify the worker.list property. 









# workers.tomcat_home should point to the location where you 

# installed tomcat. This is where you have your conf, webapps and lib 

# directories. 



workers.tomcat_home=c:\Apache Tomcat 4.0







# workers.java_home should point to your Java installation. Normally 

# you should have a bin and lib directories beneath it. 



workers.java_home=d:\jdk1.3 





# You should configure your environment slash... ps= on NT and / on UNIX 

# and maybe something different elsewhere. 



ps=\ 

# ps=/ 





#------ ADVANCED MODE ------------------------------------------------ 

#--------------------------------------------------------------------- 







#------ DEFAULT worket list ------------------------------------------ 

#--------------------------------------------------------------------- 





# The workers that your plugins should create and work with 



worker.list=ajp12, ajp13 





#------ DEFAULT ajp12 WORKER DEFINITION ------------------------------ 

#--------------------------------------------------------------------- 







# Defining a worker named ajp12 and of type ajp12 

# Note that the name and the type do not have to match. 



worker.ajp12.port=8007 

worker.ajp12.host=localhost 

worker.ajp12.type=ajp12 



# Specifies the load balance factor when used with 

# a load balancing worker. 

# Note: 

# ----> lbfactor must be > 0 

# ----> Low lbfactor means less work done by the worker. 

worker.ajp12.lbfactor=1 





#------ DEFAULT ajp13 WORKER DEFINITION ------------------------------ 

#--------------------------------------------------------------------- 







# Defining a worker named ajp13 and of type ajp13 

# Note that the name and the type do not have to match. 



worker.ajp13.port=8009 

worker.ajp13.host=localhost 

worker.ajp13.type=ajp13 



# Specifies the load balance factor when used with 

# a load balancing worker. 

# Note: 

# ----> lbfactor must be > 0 

# ----> Low lbfactor means less work done by the worker. 

worker.ajp13.lbfactor=1 





# Specify the size of the open connection cache. 

#worker.ajp13.cachesize 





#------ DEFAULT LOAD BALANCER WORKER DEFINITION ---------------------- 

#--------------------------------------------------------------------- 







# The loadbalancer (type lb) workers perform wighted round-robin 

# load balancing with sticky sessions. 

# Note: 

# ----> If a worker dies, the load balancer will check its state 

# once in a while. Until then all work is redirected to peer 

# workers. 

worker.loadbalancer.type=lb 

worker.loadbalancer.balanced_workers=ajp12, ajp13 







#------ DEFAULT JNI WORKER DEFINITION--------------------------------- 

#--------------------------------------------------------------------- 







# Defining a worker named inprocess and of type jni 

# Note that the name and the type do not have to match. 



worker.inprocess.type=jni 





#------ CLASSPATH DEFINITION ----------------------------------------- 

#--------------------------------------------------------------------- 







# Additional class path components. 



worker.inprocess.class_path=$(workers.tomcat_home)$(ps)classes 





# The XML parser provided with Tomcat 



worker.inprocess.class_path=$(workers.tomcat_home)$(ps)lib$(ps)jaxp.jar 

worker.inprocess.class_path=$(workers.tomcat_home)$(ps)lib$(ps)parser.jar 





# Tomcat`s implementation 



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 





# Javac as available from Java2SE 



worker.inprocess.class_path=$(workers.java_home)$(ps)lib$(ps)tools.jar 





# Setting the command line for tomcat 

# Note: The cmd_line string may not contain spaces. 



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) 





# The JVM that we are about to use 



# This is for Java2 



worker.inprocess.jvm_lib=$(workers.java_home)$(ps)jre$(ps)bin$(ps)classic$(ps)jvm.dll 





# And this is for jdk1.1.X 



#worker.inprocess.jvm_lib=$(workers.java_home)$(ps)bin$(ps)javai.dll 







# Setting the place for the stdout and stderr of tomcat 



worker.inprocess.stdout=$(workers.tomcat_home)$(ps)inprocess.stdout 

worker.inprocess.stderr=$(workers.tomcat_home)$(ps)inprocess.stderr 





# Setting the tomcat.home Java property 



worker.inprocess.sysprops=tomcat.home=$(workers.tomcat_home) 





# Java system properties 



# worker.inprocess.sysprops=java.compiler=NONE 

# worker.inprocess.sysprops=myprop=mypropvalue 





# Additional path components. 



# worker.inprocess.ld_path=d:$(ps)SQLLIB$(ps)bin 





#--------------------------------------配置文件完毕------------------------------------- 



在这个文件中需要注意的是要修改只有两个地方,一个是workers.tomcat_home,

这是指定Tomcat工作的目录,另外一个是workers.java_home,这是指定Jdk的目

录,大家可以做适当修改!我这里的配置没有修改,都是符合我安装系统的配置!



其次,配置TOMCAT核心文件,打开 c:\Apache Tomcat4.0\conf\server.xml

修改如下:

将<!-- Define an AJP 1.3 Connector on port 8009 --> 

<!-- 

<Connector className="org.apache.ajp.tomcat4.Ajp13Connector" 

port="8009" minProcessors="5" maxProcessors="75" 

acceptCount="10" debug="0"/> 

--> 

的<!-- --> 去掉,这句话熟悉XML的人都知道它是注释,因为默认的Tomcat4

是没有启用Apj13的8009的端口即mod_jk所使用,修改后如下: 

<Connector className="org.apache.ajp.tomcat4.Ajp13Connector" 

port="8009" minProcessors="5" maxProcessors="75" 

acceptCount="10" debug="0"/> 

然后保存,现在你的Tomcat和Apache的配置基本完成了。



第五步:所有配置基本完成,重新启动计算机,开始整体测试!





测试:大家首先启动Apache,然后在浏览器里输入http://localhost,如果能看

到Apache的欢迎页面,那么恭喜您,第一步成功了。然后回到Tomca目录下

运行startup.bat启动Tomcat,再打开浏览器输入:http://localhost:8080/

如果看到可爱的Tomcat,那么恭喜您,Tomcat也没有问题,最后最重要的是

Apache下可以解释jsp和Servlet,把下面的代码copy到文本编辑器中命名为

hello.jsp,

内容如下: 

<%@ page contentType="text/html;charset=gb2312"%> 

<html> 

<body> 

<%String str="Hello World!";%> 

<%str=str+"你好";%> 

<%=str%> 

</body> 

</html> 

将它保存到C:\Apache Tomcat 4.0\webapps\ROOT下,然后在浏览器里输入

http://localhost/hello.jsp如果看到了Hello,那么您的确成功了。

------------------至此你已经大功告成,可以哼一个小曲了--------------------------

我的这个配置文档是经过考验,确实可以正常通过并运行的,希望能给你有所帮助,如果在进

行过程中有任何问题,请通知我!

我的QQ:5359496

EMAIL:apollo@risesun-cn.com

其次我再阐述两个问题:

1。由于我在配置APACHE中使用了虚拟主机,所以访问地址可以是:

http://localhost和http://root.dev,但是如果想http://root.dev访问成功的话,请在

浏览器里做如下设置:

INTERNET选项-连接-局域网设置 

选择 “使用代理服务器”,地址:192.168.0.16 (写你主机的IP) 端口:80



2。对于APACHE主机下访问的JSP文件,实际上物理上不存在与APACHE的主机上,而是存在在

TOMCAT的主机目录里,例如:

http://localhost/hello.jsp 中hello.jsp文件实际不在 c:\apache\htdocs\下,而在

C:\Apache Tomcat 4.0\webapps\ROOT 下。这点请注意,不要混淆概念!