最近由于项目的需要,需要再原来运行Tomcat服务器上支持PHP运行。很显然,PHP运行使用的是Apache服务器。虽然Tomcat也属于Apache,但是并没有现有的环境,需要我们自己手动配置。顺便说一下,我们使用的服务器环境是Centos6.4 。
	
	我也是第一次搭建这个环境,没有经验,身边的同事也都没有整合过。所以最好的方法肯定是找度娘了。
	
	但是,我发现网上的东西那叫一个又杂又乱,我保证你看了十篇文章,你也无法搭建成功。主要原因是转载的文章太多,而转载者也并非都是作者或者是专家。所以,文章要么是蜻蜓点水,要么是文字堆砌,太费解。
	
	最后经过许多文章的参考,加上自己的反复试验,终于配置成功(来点掌声)。所以,分享给大家,希望能够帮助你少走弯路。
	
	Apache和Tomcat的整合方式至少有3种,我实在不想一一列出。下面给出详情地址,需要都了解的可以看看: (Apache HTTP Server 与 Tomcat 的三种连接方式介绍)。
	
	
	我这里采用ajp_proxy代理方式,因为配置简单。下面是具体步骤。
	
	我这里不是教大家如何安装tomcat 和 Apache的,所以此处省略具体步骤。
	
	开始配置,分如下几个步骤:
	
	
1、确定JAVA项目和PHP项目的路径以及对应的域名名称
	
		Java项目的路径为:/var/data/www/m.qcai360.com/
		Java项目的域名为:m.qcai360.com
		PHP项目的路径为:/var/www/html/
		
			PHP项目的域名为:www.qcai360.com
		
			 
	
	
		2、配置Apache配置文件httpd.conf
	
		[root@localhost ~]# vi /etc/httpd/conf/httpd.conf
		打开编辑Apache的配置文件,找到VirtualHost节点,去掉#注释。核心代码如下:
		
			
			
				- 
					NameVirtualHost *:80  
 
				- 
					<VirtualHost *:80>  
 
				- 
					    DocumentRoot /var/www/html  
 
				- 
					    ServerName www.qcai360.com  
 
				- 
					    ErrorLog logs/www.qcai360.com-error_log  
 
				- 
					    CustomLog logs/www.qcai360.com-access_log common  
 
				- 
					</VirtualHost>  
 
				- 
					<VirtualHost *:80>  
 
				- 
					    ServerName m.qcai360.com  
 
				- 
					    ErrorLog logs/m.qcai360.com-error_log  
 
				- 
					    CustomLog logs/m.qcai360.com-access_log common  
 
				- 
					    <Directory "/var/data/www/m.qcai360.com/">  
 
				- 
					        DirectoryIndex index.htm index.jsp index.html  
 
				- 
					   </Directory>  
 
				- 
					    DocumentRoot /var/data/www/m.qcai360.com/  
 
				- 
					    <IfModule mod_proxy.c>  
 
				- 
					        ProxyPass /  ajp://127.0.0.1:8009/  
 
				- 
					        ProxyPassReverse / ajp://127.0.0.1:8009/  
 
				- 
					    </IfModule>  
 
				- 
					</VirtualHost>  
 
			
		 
		
		 
	3、配置Tomcat配置文件server.xml
	
		[root@localhost ~]# vi /usr/share/tomcat6/conf/server.xml
	
		
			打开编辑Tomcat的配置文件,我把几个核心节点配置展示下,其他节点几乎不用改动。
	
	
		 
	
		
			Connector节点:
	
	
		
			
			
				- 
					<Connector port="8888" protocol="HTTP/1.1"  
 
				- 
					          URIEncoding="UTF-8"    
 
				- 
					      minSpareThreads="25"   
 
				- 
					      maxSpareThreads="75"  
 
				- 
					      enableLookups="false"   
 
				- 
					      disableUploadTimeout="true"   
 
				- 
					      connectionTimeout="20000"  
 
				- 
					      acceptCount="300"    
 
				- 
					      maxThreads="300"   
 
				- 
					      maxProcessors="1000"   
 
				- 
					      minProcessors="5"  
 
				- 
					      useURIValidationHack="false"                                           
 
				- 
					      compression="on"   
 
				- 
					      compressionMinSize="2048"                       
 
				- 
					      compressableMimeType="text/html,text/xml,text/javascript,text/css,text/plain"  
 
				- 
					      redirectPort="8443"/>  
 
			
		 
	
	
		Host节点:
	
		
			
			
				- 
					<Host name="m.qcai360.com" appBase="/var/data/www/m.qcai360.com/"  
 
				- 
					unpackWARs="true" autoDeploy="true"  
 
				- 
					xmlValidation="false" xmlNamespaceAware="false">  
 
				- 
					<Context path="/" docBase="/var/data/www/m.qcai360.com/" reloadable="true" caseSensitive="false" debug="0"></Context>  
 
				- 
					</Host>  
 
			
		 
		
		 
	
	4、运行测试
	
		浏览器中输入:http://www.qcai360.com/
		运行效果如下:
	
	
	
		浏览器中输入:http://m.qcai360.com
		
			运行效果如下:
		
			