首页  »   Apache

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

网友分享于:2015-08-26  浏览:0次
XP搭建Apache+Tomcat+JSP+PHP+MYSQL环境教程

一、环境说明

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()设置我的默认时区为北京时间,即<?phpdate_default_timezone_set("PRC");?>就可以了。

②在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的内容底部添加配置:

#tomcat
LoadModule jk_module modules/mod_jk-1.2.28-httpd-2.2.3.so
JkWorkersFile"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 localhost
DirectoryIndex index.html index.htm index.jsp
ErrorLog logs/shsc-error_log.txt
CustomLog logs/shsc-access_log.txt common
JkMount /servlet/* ajp13
JkMount /*.jsp ajp13
JkMount /*.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、ApacheTomcat集群配置

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

 

 

相关解决方案

最新解决方案