Apache+tomcat集群+php配置贴
今天因为一件事情,结果引发犹如被打鸡血的冲动,把前几天想完成的事情一下子都做完了,花了几个小时看了一下书,然后搜了不少的材料做好了两件事情:
1.搭建好了i帝国建站系统,典型的使用apache+php+mysql的配置环境
2.做好了tomcat集群配置应用
------我的心情
最近压力很大,不是找工作的事情,因为其他的一件比较重要的破事,终于完了。后面好好努力,明年再跳槽!保持发帖速度,两周发一个技术帖,必须要多学点东西才行了,什么都不知怎么跳槽!
-----为了不忘记这心血来潮的结晶,把心得贴出来,网上这种帖子多的是,我这里的基本都是自己实现了的,不过和网上的材料基本说的一个事情。
++++++++++++++++++++++++++++++++++++++++++++++++++++
1.准备软件下载并安装Apache2.2 apache-tomcat-6.0.20.zip php-5.3.6-Win32-VC9-x86.msi mysql
2.apache,tomcat的关系,还有tomcat做集群是什么玩意前几天面试的时候被问到这个问题,不知道,总是使用tomcat服务器,就知道apache基金会,但是不知道具体的关系。其实apache是一种web服务器(其他的windows下面的IIS也是另外一种web服务器),在tomcat做集群的时候是多个tomcat之间通过一个apache联系起来,apache服务器处理静态请求内容,tomcat处理动态内容,中间的桥梁是一个叫做mod_jk或者mod_proxy的本地代码模块(C或者C++写的)。涉及到的通信协议叫做AJP协议。
3.apache+php配置结合的要点修改php配置文件php.ini:搜索找到register_globals
register_globals = Off --->
On搜索找到short_open_tag
short_open_tag = Off --->
On搜索找到extension_dir配置,找到下面的ext目录
extension_dir="D:\Program Files\PHP\ext"
搜索找到DocumentRoot 配置php工程的根目录地址
DocumentRoot "D:/apacheroot"//服务器根目录
//设置缓存地址
session.save_path="C:\WINDOWS.0\Temp"
修改apache配置文件httpd.conf
配置php工程的根目录,和之前的配置的一致
DocumentRoot "D:/apacheroot"
下面继续搜索这里也要配置:
#
# This should be changed to whatever you set DocumentRoot to.
#
<Directory "D:/apacheroot">配置可能的首页文件,目录等,
<IfModule dir_module>
DirectoryIndex index.html index.htm index.php
</IfModule>
继续配置httpd.conf,添加下面内容(位置任意):
LoadModule php5_module "D:/Program Files/PHP/php5apache2_2.dll"
AddType application/x-httpd-php .php
AddType application/x-httpd-php .htm
到此apache可以支持php了
4.php和mysql配置找到先前重命名并编辑过的 php.ini,把“;extension=php_mysql.dll”前的“;”去掉,加载mysql模块
以上关于apache+php+mysql可以看这个帖子,图文并茂,很详细:http://tech.163.com/06/0206/11/299AMBLT0009159K_3.html
++++++++++++++++++++++++++++++++++++++++++++++++++
tomcat简单集群,我从这个帖子开始了解的:
http://www.iteye.com/topic/1017961
然后发现使用过程中本人基础比较差,有几个前提问题就没有处理好,于是又继续搜索加翻书,自己继续总结了一下。
1.如何实现一台机器上面跑多个tomcata.首先去掉环境变量里面的关于tomcat home的相关配置,没有的话就不用删了
b.复制tomcat6为三个,分别文件夹叫tomcat1,tomcat2,tomcat3
c.对每一个tomcat里面bin下面的startup.bat配置文件修改如下:
if not "%CATALINA_HOME%" == "" goto gotHome
set CATALINA_HOME="D:\负载均衡测试\tomcat1" //修改这一行即可 //使用当前目录下面的tomcat
d:修改各个tomcat的配置文件server.xml
1.设置不同的ajp连接器端口(默认的ajp1.3协议监听8009端口,对于各个tomcat 运行在一个机器上面必须端口不一样才行)
<!-- Define an AJP 1.3 Connector on port 8009 -->
<Connector port="8010" protocol="AJP/1.3" redirectPort="8443" />
tomcat1:8009(默认的不变)
tomcat2:8010
tomcat3:8011
2.设置不同的服务端口(避免启动端口冲突,编辑server.xml文件并设置每个tomcat的服务端口不一样!)
<Server port="8006" shutdown="SHUTDOWN">
tomcat1:8005(默认的不变)
tomcat2:8006
tomcat3:8007
3.因为要做负载均衡,所有的请求应该通过apache服务器的worker负载均衡器,应该禁止默认的htp连接器直接访问tomcat,所以要注释相关配置(重要)
<!--
<Connector port="8080" protocol="HTTP/1.1"
connectionTim