最近由于项目的需要,需要再原来运行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
运行效果如下: