首页 后端开发 php教程 XP搭建Apache+Tomcat+JSP+PHP+MYSQL环境教程

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

Jun 23, 2016 pm 01:44 PM

一、环境说明

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/

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

这是我本机安装的目录。注:网上有好多教程说需要把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"></executor>          <!-- 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 port="8080" protocol="HTTP/1.1" connectiontimeout="20000" redirectport="8443"></connectorexecutor>
登录后复制

 

参考文献:

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

 

 

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

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

热门话题

Java教程
1662
14
CakePHP 教程
1419
52
Laravel 教程
1313
25
PHP教程
1262
29
C# 教程
1235
24
说明PHP中的不同错误类型(注意,警告,致命错误,解析错误)。 说明PHP中的不同错误类型(注意,警告,致命错误,解析错误)。 Apr 08, 2025 am 12:03 AM

PHP中有四种主要错误类型:1.Notice:最轻微,不会中断程序,如访问未定义变量;2.Warning:比Notice严重,不会终止程序,如包含不存在文件;3.FatalError:最严重,会终止程序,如调用不存在函数;4.ParseError:语法错误,会阻止程序执行,如忘记添加结束标签。

说明PHP中的安全密码散列(例如,password_hash,password_verify)。为什么不使用MD5或SHA1? 说明PHP中的安全密码散列(例如,password_hash,password_verify)。为什么不使用MD5或SHA1? Apr 17, 2025 am 12:06 AM

在PHP中,应使用password_hash和password_verify函数实现安全的密码哈希处理,不应使用MD5或SHA1。1)password_hash生成包含盐值的哈希,增强安全性。2)password_verify验证密码,通过比较哈希值确保安全。3)MD5和SHA1易受攻击且缺乏盐值,不适合现代密码安全。

PHP和Python:比较两种流行的编程语言 PHP和Python:比较两种流行的编程语言 Apr 14, 2025 am 12:13 AM

PHP和Python各有优势,选择依据项目需求。1.PHP适合web开发,尤其快速开发和维护网站。2.Python适用于数据科学、机器学习和人工智能,语法简洁,适合初学者。

PHP行动:现实世界中的示例和应用程序 PHP行动:现实世界中的示例和应用程序 Apr 14, 2025 am 12:19 AM

PHP在电子商务、内容管理系统和API开发中广泛应用。1)电子商务:用于购物车功能和支付处理。2)内容管理系统:用于动态内容生成和用户管理。3)API开发:用于RESTfulAPI开发和API安全性。通过性能优化和最佳实践,PHP应用的效率和可维护性得以提升。

什么是HTTP请求方法(获取,发布,放置,删除等),何时应该使用? 什么是HTTP请求方法(获取,发布,放置,删除等),何时应该使用? Apr 09, 2025 am 12:09 AM

HTTP请求方法包括GET、POST、PUT和DELETE,分别用于获取、提交、更新和删除资源。1.GET方法用于获取资源,适用于读取操作。2.POST方法用于提交数据,常用于创建新资源。3.PUT方法用于更新资源,适用于完整更新。4.DELETE方法用于删除资源,适用于删除操作。

PHP:网络开发的关键语言 PHP:网络开发的关键语言 Apr 13, 2025 am 12:08 AM

PHP是一种广泛应用于服务器端的脚本语言,特别适合web开发。1.PHP可以嵌入HTML,处理HTTP请求和响应,支持多种数据库。2.PHP用于生成动态网页内容,处理表单数据,访问数据库等,具有强大的社区支持和开源资源。3.PHP是解释型语言,执行过程包括词法分析、语法分析、编译和执行。4.PHP可以与MySQL结合用于用户注册系统等高级应用。5.调试PHP时,可使用error_reporting()和var_dump()等函数。6.优化PHP代码可通过缓存机制、优化数据库查询和使用内置函数。7

PHP如何安全地上载文件? PHP如何安全地上载文件? Apr 10, 2025 am 09:37 AM

PHP通过$\_FILES变量处理文件上传,确保安全性的方法包括:1.检查上传错误,2.验证文件类型和大小,3.防止文件覆盖,4.移动文件到永久存储位置。

解释self ::,parent ::和static :: in php oop中的区别。 解释self ::,parent ::和static :: in php oop中的区别。 Apr 09, 2025 am 12:04 AM

在PHPOOP中,self::引用当前类,parent::引用父类,static::用于晚静态绑定。1.self::用于静态方法和常量调用,但不支持晚静态绑定。2.parent::用于子类调用父类方法,无法访问私有方法。3.static::支持晚静态绑定,适用于继承和多态,但可能影响代码可读性。

See all articles