0

0

XP搭建Apache+Tomcat+JSP+PHP+MYSQL环境教程

php中文网

php中文网

发布时间:2016-06-23 13:44:04

|

1086人浏览过

|

来源于php中文网

原创

一、环境说明

1、Window XP

2、apache_2.2.11-win32-x86-no_ssl.msihttp://httpd.apache.org/

3、Mod_jk-1.2.28-httpd-2.2.3.sohttp://tomcat.apache.org/download-connectors.cgi

4、apache-tomcat-6.0.18.ziphttp://archive.apache.org/dist/tomcat/tomcat-6/v6.0.18/src/

立即学习PHP免费学习笔记(深入)”;

5、mysql-5.5.15-win32.msihttp://www.mysql.com/

6、php-5.4.35-Win32-VC9-x86http://windows.php.net/download/#php-5.4-ts-VC9-x86

7、jdk-7-ea-bin-b134-windows-i586-17_mar_2011

http://www.oracle.com/technetwork/java/javase/downloads/index.html

 

打包下载地址:

http://download.csdn.net/detail/itas109/8226595

 

我的程序分别安装到

D:\webserver\Apache2.2

D:\webserver\PHP5

D:\webserver\Tapache-tomcat-6.0.18

 

 

二、程序安装

Ⅰ、Apache安装

注:本例只截取需要注意的截图,其它默认则不显示。

 

1.服务器信息可以按照默认配置,如果服务器的80端口没被其他服务器程序占据。可选“for All Users,on Port 80,as a Service?Recommended.”如果仅为当前用户使用,使用8080端口,手动启动,选择“only for the Current User, onPort 8080, when started Manually.”。端口号是可以通过配置文件进行修改的。


2.“Typical”为默认安装,“Custom”为用户自定义安装。

可以选择“Change”来更改默认安装路径,本例按默认安装。


注:如果你安装后服务管理列表中没有出现apache的服务项就说明在安装过程中出现了错误,这时候可以手动进行安装。

使用cmd进入D:\webserver\Apache2.2\bin这是我本机安装的目录, 并执行httpd -k install命令,提示成功后即可在服务管理列表中看到apache服务。

 

3.运行

如果上面选得端口是8080,就输入http://localhost:8080/。

如果是80端口,就输入http://localhost/。

 

Ⅱ、MySQL安装

1.根据需要修改路径,默认安装即可,主要是MySQL配置。

2.选择配置方式:“DetailedConfiguration(手动精确配置)”、”Standard Configuration(标准配置)”,选择“Detailed Configuration”,

 

3. 选择服务器类型,“Developer Machine(开发测试类,mysql占用很少资源)”、“Server Machine(服务器类型,mysql占用较多资源)”、“Dedicated MySQL Server Machine(专门的数据库服务器,mysql占用所有可用资源)”,一般选择“Server Machine”。 可根据实际情况进行选择。


4. 选择mysql数据库的大致用途,“Multifunctional Database(通用多功能型,好)”、“Transactional Database Only(服务器类型,专注于事务处理,一般)”、“Non-Transactional Database Only(非事务处理型,较简单,主要做一些监控,记数用,对MySAM数据类型的支持仅限于non-transactional)”,选择“Transactional Database Only”,本例选择的是通用多功能型。

5. 对InnoDB Tablespace进行配置,就是为InnoDB数据库文件选择一个存储空间,如果修改了,要记住位置,重装的时候要选择一样的地方,否则可能会造成数据库损坏,当然,对数据库做个备份就没问题了。使用默认位置。

 

6. 选择网站的一半mysql访问量,同时连接的数目,“Decision Support(DSS)/OLAP(20个左右)”、“Online Transaction Processing(OLTP)(500个左右)”、“Manual Setting(手动设置,自己输一个数)”,选择“Online Transaction Processing(OLTP)”。根据自己需要选择,这里选择手动设置。

7. 是否启用TCP/IP连接,设定端口,如果不启用,就只能在自己的机器上访问mysql数据库,选择“Enable TCP/IP Networking”是否启用TCP/IP连接,设定端口,如果不启用,就只能在自己的机器上访问mysql数据库,选择“Enable TCP/IP Networking”。

8. 设置数据库语言编码,“Standard Character Set”为西文编码、“Best SupportFor Multilingualism”为RTF-8编码、“ManualSelected Default Character Set/Collation”为手动设置编码,这里选择utf8。


9.”Install As Windows Service”选择安装MySql服务,可自定义服务的名称。

“Include Bin Directory in Windows PATH”是在机器上添加MySql的环境变量。


10. 选择“Modify Security Settings”,可根据实际要求勾选上“Enableroot access from remote machines”以便能够从其他机器上访问。

11.完成配置后点击“Execute”执行配置即可。

MySql安装操作已完成。

测试MySql

 

Ⅲ、PHP安装

1、将E:\Program Files\PHP中的php.ini-dist复制为php.ini。

如果没有php.ini-dist文件可使用php.ini-development文件并更改名称为php.ini(留个备份,好习惯)

  php.ini-development 开发用的

  php.ini-produciton 生产机用的

2、打开D:\webserver\PHP5\php.ini修改下列语句行:

3、extension_dir = "D:\webserver\PHP5\ext"


4、default_charset="utf-8"

  

5、将extension=php_exif.dll、php_gd2.dll、php_imap.dll、php_mbstring.dll、php_mcrypt.dll、php_mime_magic.dll、php_mysql.dll、php_mysqli.dll、php_pdf.dll前面的分号“;”去掉。

6、在【环境变量】的【Path】中加入:; D:\webserver\PHP5; D:\webserver\PHP5\ext两个值。

7、其它配置

a、在写php程序中有时会出现这样的警告:PHP Warning: date(): It is not safe to rely on the system's timezonesettings. You are *required* to use the date.timezone setting or thedate_default_timezone_set() function. In case you used any of those methods andyou are still getting this warning, you most likely misspelled the timezoneidentifier. We selected 'UTC' for '8.0/no DST' instead in D:\xxx\xxx\xxx.php online 10 。这是因为PHP所取的时间是格林威治标准时间,所以和你当地的时间会有出入格林威治标准时间和北京时间大概差8个小时左右,我们可以按照下面的方法解决:

①在页头使用date_default_timezone_set()设置我的默认时区为北京时间,即就可以了。

②在php.ini中设置date.timezone的值为PRC,设置好以后的为:date.timezone=PRC,同时取消这一行代码的注释,即去掉前面的分号就可以了。

 

8、httpd.conf的配置:

httpd.conf文件的位置:D:\webserver\Apache2.2\conf

Venice
Venice

Venice AI是一个专注于隐私保护的去中心化生成式AI平台,可以生成无审查和无偏见的AI对话和图像

下载

这是我本机安装的目录。注:网上有好多教程说需要把php目录下的某某dll文件拷贝到system32下,其实这是不必要的,只需要在httpd.conf中加载php模块即可。

添加并修改下列语句行: 

LoadModule php5_module "E:/PHP5/php5apache2_2.dll" PHPIniDir "E:/Program Files/PHP5"AddType application/x-httpd-php .php.phtml 

 

注意:

①  如果你在链接MySql数据库的时候出现

Fatal error: Call to undefinedfunction mysql_connect() in C:\xxxxx.php

那就是因为你没有增加此属性。

②  如果php安装目录里没有php5apache2_2.dll,一定是下载的版本不对。

应该是php-5.4.35-Win32-VC9-x86

 

默认路径和默认index可以根据自己需要修改

注意:Apache Windows配置文件httpd.conf中要求的目录分隔符是用斜线”/”,而PHP Windows配置文件php.ini中书写目录时要求的是反斜线”\”,不要弄混了。

配置测试,在指定的目录(默认为htdocs)中创建index.php 打印php配置信息。

代码为

<?php   phpinfo();?>

运行效果如图: 其中mysql、mysqli加载之后表示可以与mysql连接了


Ⅳ、tomcat与Apache整合

1、为什么需要整合?

整合的最主要原因是为了在现有的硬件条件下提供最大的负载。

如果单独使用Tomcat做JSP服务器,在工作效率上会存在问题,Tomcat处理静态HTML的能力不如Apache,并且所能承受的最大并发连接数也有一定的限制;

在测试中,当并发连接较多时,Tomcat就会处于“僵死”状态,对后继的请求连接失去响应。所以现在提出一个“整合”解决方案:将html与jsp的功能部分进行明确分工,让tomcat只处理jsp部分,其它的由apache这个web

server处理。Apache与Tomcat各司其职,那么服务器的整体效率就能够得到提升。

因为我们做网站的时候不光需要PHP,还会用到JSP等,也需要tomcat与Apache整合。

 

2、java环境配置

Jsp运行必须呀java的支持

    安装包正常安装,完成后进行环境变量配置。

在”我的电脑”的环境变量中,添加JAVA系统变量;具体操作是在“系统变量”区域新建变量名为“JAVA_HOME”的变量,变量值为JDK的安装路径,如“D:\Program Files\Java\jdk1.7.0”;接着将JAVA_HOME添加到系统变量Path之中,方法是编辑打开系统变量Path,在原有的变量值前添加双引号内的代码“%JAVA_HOME%/bin;”,其中的分号起分隔作用,不可缺少。

在cmd中运行javac,成功安装会出现下图信息。

3、tomcat环境配置

 

我们采用的是免安装版的tomcat,直接解压到D:\webserver。

在我的电脑->属性->高级->环境变量->系统变量中添加以下环境变量(假定你的tomcat安装在D:\webserver\apache-tomcat-6.0.18):

CATALINA_HOME: D:\webserver\apache-tomcat-6.0.18

CATALINA_BASE: D:\webserver\apache-tomcat-6.0.18

TOMCAT_HOME: D:\webserver\apache-tomcat-6.0.18

 

接着可以启动tomcat,在IE中访问http://localhost:8080,如果看到tomcat的欢迎页面的话说明安装成功了。

4、Apache和tomcat整合

a. 将mod_jk-1.2.28-httpd-2.2.3.so复制到D:\webserver\Apache2.2\modules(我的apache安装目录)

b. 新建 workers.properties 文件,内容如下:

workers.tomcat_home=D:\webserver\apache-tomcat-6.0.18#让mod_jk模块知道Tomcat的位置workers.java_home=D:\ProgramFiles\Java\jdk1.7.0 #让mod_jk模块知道jre的位置 worker.list=ajp13 #模块版本worker.ajp13.port=8009 #工作端口,若没占用则不用修改worker.ajp13.host=localhost #本机,若上面的Apache主机不为localhost,作相应修改worker.ajp13.type=ajp13 #类型worker.ajp13.lbfactor=1 #代理数,不用修改

 

拷贝到D:\webserver\apache-tomcat-6.0.18\conf\jk下,这是我tomcat的安装目录。

 

c. 在apache的httpd.conf的内容底部添加配置:

#tomcatLoadModule jk_module modules/mod_jk-1.2.28-httpd-2.2.3.soJkWorkersFile"D:/webserver/apache-tomcat-6.0.18/conf/jk/workers.properties"JkLogFile"D:/webserver/apache-tomcat-6.0.18/logs/mod_jk2.log"JkLogLevel info <VirtualHost localhost>ServerAdmin @hbu.cn#DocumentRoot D:/ServerName localhostDirectoryIndex index.html index.htm index.jspErrorLog logs/shsc-error_log.txtCustomLog logs/shsc-access_log.txt commonJkMount /servlet/* ajp13JkMount /*.jsp ajp13JkMount /*.do ajp13</VirtualHost>

 配置完毕,经测试apache将jsp,servlet,.do请求都交由tomcat处理。其他文件由apache处理,因为apache的稳定性和

安全性,以及相对于tomcat而言快速的静态页处理速度,也可以提高网站的负载能力,前提是网站的静态页比较多,例如做了静态化。

d.apache和tomcat目录统一

这里统一为tomcat的目录

在D:\webserver\Apache2.2\conf下打开httpd.conf

找到DocumentRoot和Directory设置为tomcat的默认路径


5、tomcat性能优化

a.线程池优化

为了提高网站的访问性能,我们往往会在服务器端选择合适的部署环境。最简单的就是一个tomcat了,但是在高并发的情况下,非常
容易当机。因为tomcat配置的不优化。我最早也没有注意这些细节,因为我知道一个项目的性能不是通过搭建环境体现的,而是算法的高效,代码实
现的合理性,以及数据库的合理使用,优化技术的使用等等。不过通过优化部署环境应该说是最直接的一种方案了。目前我知道的一种tomcat优化
方案是使用tomcat线程池。只需要在server.xml中改改配置就可以了。核心配置代码:

<Executor name="tomcatThreadPool"namePrefix="catalina-exec-"       maxThreads="1000" minSpareThreads="50"maxIdleTime="600000"/>          <!-- A"Connector" represents an endpoint by which requests are received         and responses arereturned. Documentation at :         Java HTTPConnector: /docs/config/http.html (blocking & non-blocking)         Java AJP  Connector: /docs/config/ajp.html         APR (HTTP/AJP)Connector: /docs/apr.html         Define a non-SSLHTTP/1.1 Connector on port 8080    -->    <!--    <Connectorport="8086" protocol="HTTP/1.1"              connectionTimeout="20000"              redirectPort="8443" URIEncoding="UTF-8"/>    -->    <!-- A"Connector" using the shared thread pool-->     <Connectorexecutor="tomcatThreadPool"              port="8080" protocol="HTTP/1.1"              connectionTimeout="20000"              redirectPort="8443" />

 

参考文献:

1、PHP环境(apache,PHP,Mysql)详细配置方法

http://blog.csdn.net/jt521xlg/article/details/7533477

2、Apache2.2.11+Tomcat6.0.18整合与实战笔记、Tomcat的优化交流

http://www.cnblogs.com/shiyangxt/archive/2009/08/03/1537842.html

3、在windows XP下搭建Apache+Tomcat+JSP+PHP+MYSQL环境

http://blog.csdn.net/annkie/article/details/7588033

4、Apache与Tomcat集群配置

http://www.cnblogs.com/obullxl/archive/2011/06/09/apache-tomcat-cluster-config.html

5、tomcat环境变量的配置

http://www.cnblogs.com/mingforyou/archive/2012/04/04/2432025.html

6、Windows环境配置Apache+Mysql+PHP

http://www.cnblogs.com/homezzm/archive/2012/08/01/2618062.html

 

 

相关文章

PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
pixiv网页版官网登录与阅读指南_pixiv官网直达入口与在线访问方法
pixiv网页版官网登录与阅读指南_pixiv官网直达入口与在线访问方法

本专题系统整理pixiv网页版官网入口及登录访问方式,涵盖官网登录页面直达路径、在线阅读入口及快速进入方法说明,帮助用户高效找到pixiv官方网站,实现便捷、安全的网页端浏览与账号登录体验。

928

2026.02.13

微博网页版主页入口与登录指南_官方网页端快速访问方法
微博网页版主页入口与登录指南_官方网页端快速访问方法

本专题系统整理微博网页版官方入口及网页端登录方式,涵盖首页直达地址、账号登录流程与常见访问问题说明,帮助用户快速找到微博官网主页,实现便捷、安全的网页端登录与内容浏览体验。

307

2026.02.13

Flutter跨平台开发与状态管理实战
Flutter跨平台开发与状态管理实战

本专题围绕Flutter框架展开,系统讲解跨平台UI构建原理与状态管理方案。内容涵盖Widget生命周期、路由管理、Provider与Bloc状态管理模式、网络请求封装及性能优化技巧。通过实战项目演示,帮助开发者构建流畅、可维护的跨平台移动应用。

183

2026.02.13

TypeScript工程化开发与Vite构建优化实践
TypeScript工程化开发与Vite构建优化实践

本专题面向前端开发者,深入讲解 TypeScript 类型系统与大型项目结构设计方法,并结合 Vite 构建工具优化前端工程化流程。内容包括模块化设计、类型声明管理、代码分割、热更新原理以及构建性能调优。通过完整项目示例,帮助开发者提升代码可维护性与开发效率。

29

2026.02.13

Redis高可用架构与分布式缓存实战
Redis高可用架构与分布式缓存实战

本专题围绕 Redis 在高并发系统中的应用展开,系统讲解主从复制、哨兵机制、Cluster 集群模式及数据分片原理。内容涵盖缓存穿透与雪崩解决方案、分布式锁实现、热点数据优化及持久化策略。通过真实业务场景演示,帮助开发者构建高可用、可扩展的分布式缓存系统。

103

2026.02.13

c语言 数据类型
c语言 数据类型

本专题整合了c语言数据类型相关内容,阅读专题下面的文章了解更多详细内容。

54

2026.02.12

雨课堂网页版登录入口与使用指南_官方在线教学平台访问方法
雨课堂网页版登录入口与使用指南_官方在线教学平台访问方法

本专题系统整理雨课堂网页版官方入口及在线登录方式,涵盖账号登录流程、官方直连入口及平台访问方法说明,帮助师生用户快速进入雨课堂在线教学平台,实现便捷、高效的课程学习与教学管理体验。

17

2026.02.12

豆包AI网页版入口与智能创作指南_官方在线写作与图片生成使用方法
豆包AI网页版入口与智能创作指南_官方在线写作与图片生成使用方法

本专题汇总豆包AI官方网页版入口及在线使用方式,涵盖智能写作工具、图片生成体验入口和官网登录方法,帮助用户快速直达豆包AI平台,高效完成文本创作与AI生图任务,实现便捷智能创作体验。

764

2026.02.12

PostgreSQL性能优化与索引调优实战
PostgreSQL性能优化与索引调优实战

本专题面向后端开发与数据库工程师,深入讲解 PostgreSQL 查询优化原理与索引机制。内容包括执行计划分析、常见索引类型对比、慢查询优化策略、事务隔离级别以及高并发场景下的性能调优技巧。通过实战案例解析,帮助开发者提升数据库响应速度与系统稳定性。

92

2026.02.12

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PHP零基础通关宝典
PHP零基础通关宝典

共78课时 | 10万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号