Heim >Backend-Entwicklung >PHP-Tutorial >XP搭建Apache+Tomcat+JSP+PHP+MYSQL环境教程

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

WBOY
WBOYOriginal
2016-06-23 13:44:04964Durchsuche

一、环境说明

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

 

 

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn