Home Backend Development PHP Tutorial WIN2000 PHP MYSQL TOMCAT JSP完全整合安装手册_PHP

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

Jun 01, 2016 pm 12:31 PM
mysql php tomcat Install manual Integrate

Tomcat手册mysql安装

一、前期准备情况

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

添加



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



第三步:将文件名 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

修改如下:





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

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


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,

内容如下:

















将它保存到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 下。这点请注意,不要混淆概念!
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Article

R.E.P.O. Energy Crystals Explained and What They Do (Yellow Crystal)
3 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Best Graphic Settings
3 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. How to Fix Audio if You Can't Hear Anyone
3 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: How To Unlock Everything In MyRise
3 weeks ago By 尊渡假赌尊渡假赌尊渡假赌

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

The relationship between mysql user and database The relationship between mysql user and database Apr 08, 2025 pm 07:15 PM

In MySQL database, the relationship between the user and the database is defined by permissions and tables. The user has a username and password to access the database. Permissions are granted through the GRANT command, while the table is created by the CREATE TABLE command. To establish a relationship between a user and a database, you need to create a database, create a user, and then grant permissions.

RDS MySQL integration with Redshift zero ETL RDS MySQL integration with Redshift zero ETL Apr 08, 2025 pm 07:06 PM

Data Integration Simplification: AmazonRDSMySQL and Redshift's zero ETL integration Efficient data integration is at the heart of a data-driven organization. Traditional ETL (extract, convert, load) processes are complex and time-consuming, especially when integrating databases (such as AmazonRDSMySQL) with data warehouses (such as Redshift). However, AWS provides zero ETL integration solutions that have completely changed this situation, providing a simplified, near-real-time solution for data migration from RDSMySQL to Redshift. This article will dive into RDSMySQL zero ETL integration with Redshift, explaining how it works and the advantages it brings to data engineers and developers.

Query optimization in MySQL is essential for improving database performance, especially when dealing with large data sets Query optimization in MySQL is essential for improving database performance, especially when dealing with large data sets Apr 08, 2025 pm 07:12 PM

1. Use the correct index to speed up data retrieval by reducing the amount of data scanned select*frommployeeswherelast_name='smith'; if you look up a column of a table multiple times, create an index for that column. If you or your app needs data from multiple columns according to the criteria, create a composite index 2. Avoid select * only those required columns, if you select all unwanted columns, this will only consume more server memory and cause the server to slow down at high load or frequency times For example, your table contains columns such as created_at and updated_at and timestamps, and then avoid selecting * because they do not require inefficient query se

How to fill in mysql username and password How to fill in mysql username and password Apr 08, 2025 pm 07:09 PM

To fill in the MySQL username and password: 1. Determine the username and password; 2. Connect to the database; 3. Use the username and password to execute queries and commands.

MySQL: The Ease of Data Management for Beginners MySQL: The Ease of Data Management for Beginners Apr 09, 2025 am 12:07 AM

MySQL is suitable for beginners because it is simple to install, powerful and easy to manage data. 1. Simple installation and configuration, suitable for a variety of operating systems. 2. Support basic operations such as creating databases and tables, inserting, querying, updating and deleting data. 3. Provide advanced functions such as JOIN operations and subqueries. 4. Performance can be improved through indexing, query optimization and table partitioning. 5. Support backup, recovery and security measures to ensure data security and consistency.

How to optimize MySQL performance for high-load applications? How to optimize MySQL performance for high-load applications? Apr 08, 2025 pm 06:03 PM

MySQL database performance optimization guide In resource-intensive applications, MySQL database plays a crucial role and is responsible for managing massive transactions. However, as the scale of application expands, database performance bottlenecks often become a constraint. This article will explore a series of effective MySQL performance optimization strategies to ensure that your application remains efficient and responsive under high loads. We will combine actual cases to explain in-depth key technologies such as indexing, query optimization, database design and caching. 1. Database architecture design and optimized database architecture is the cornerstone of MySQL performance optimization. Here are some core principles: Selecting the right data type and selecting the smallest data type that meets the needs can not only save storage space, but also improve data processing speed.

Understand ACID properties: The pillars of a reliable database Understand ACID properties: The pillars of a reliable database Apr 08, 2025 pm 06:33 PM

Detailed explanation of database ACID attributes ACID attributes are a set of rules to ensure the reliability and consistency of database transactions. They define how database systems handle transactions, and ensure data integrity and accuracy even in case of system crashes, power interruptions, or multiple users concurrent access. ACID Attribute Overview Atomicity: A transaction is regarded as an indivisible unit. Any part fails, the entire transaction is rolled back, and the database does not retain any changes. For example, if a bank transfer is deducted from one account but not increased to another, the entire operation is revoked. begintransaction; updateaccountssetbalance=balance-100wh

How to view mysql How to view mysql Apr 08, 2025 pm 07:21 PM

View the MySQL database with the following command: Connect to the server: mysql -u Username -p Password Run SHOW DATABASES; Command to get all existing databases Select database: USE database name; View table: SHOW TABLES; View table structure: DESCRIBE table name; View data: SELECT * FROM table name;

See all articles