近期因为项目的须要,须要再原来执行Tomcatserver上支持PHP执行。非常显然,PHP执行使用的是Apacheserver。尽管Tomcat也属于Apache,可是并没有现有的环境,须要我们自己手动配置。顺便说一下,我们使用的server环境是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

执行效果例如以下:

很多其它精彩内容 :  http://www.code4apk.com/

Centos Apache和tomcat集成配置,同一时候支持PHP和JAVA执行的更多相关文章

  1. 阿里云服务器 ECS 部署lamp:centos+apache+mysql+php安装配置方法 (centos7)

    阿里云服务器 ECS 部署lamp:centos+apache+mysql+php安装配置方法 (centos7) 1.效果图 1 2. 部署步骤 1 1. mysql安装附加(centos7) 7 ...

  2. Apache下开启SSI配置使html支持include包含

    写页面的同学通常会遇到这样的烦恼,就是页面上的 html 标签越来越多的时候,寻找指定的部分就会很困难,那么能不能像 javascript 一样写在不同的文件中引入呢?答案是有的,apache 能做到 ...

  3. 为什么要将Apache与Tomcat集成?(或不)

    Why should I integrate Apache with Tomcat? (or not) There are many reasons to integrate Tomcat with ...

  4. 在CentOS下安装tomcat并配置环境变量(改默认端口8080为8081)

    不多说,直接上干货! 第一步:下载tomcat压缩包 http://archive.apache.org/dist/tomcat/tomcat-7/v7.0.73/bin/ 第二步:上传tomcat压 ...

  5. CentOS系统中Tomcat安装配置

    Tomcat简介 Tomcat是Apache软件基金会(Apache Software Foundation)的Jakarta项目中的一个核心项目,由Apache.Sun和其他一些公司及个人共同开发而 ...

  6. tomcat+apache的集群配置

    背景:项目比较大,用户较多,同一时间,用户在线人数较多,为此,整体架构是lvs(2台)+keepalived(2台)+apache(N台)+tomcat(N台) lvs负责分发请求,所有的web请求经 ...

  7. Apache+Tomcat+mod_jk配置教程

    0.说明 首先我们要弄明白mod_jk的作用是反向代理,而其实使用httpd.conf中的<VirtualHost>标签就可以实现反向代理,为什么还要多搞个mod_jk那么麻烦做反向代理. ...

  8. 环境搭建系列-系统安装之centos 6.5安装与配置

    按照国际惯例,系列目录先奉上: 系列一:系统安装之centos 6.5安装与配置 系列二:准备工作之Java环境安装 系列三:数据为先之MySQL读写集群搭建 系列四:谈分布式之RabbitMQ集群搭 ...

  9. nginx tomcat https配置方案

    nginx目录下配置: ssl目录下 添加 证书和密码,如图 /etc/nginx/conf.d  下修改配置文件 HTTP域名的配置: ## Basic reverse proxy server # ...

随机推荐

  1. 【习题 6-7 UVA - 804】Petri Net Simulation

    [链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 模拟就好 [代码] /* 1.Shoud it use long long ? 2.Have you ever test sever ...

  2. Visual C# 2008 调试技巧

      1,非中断模式下的调试. 利用系统“输出”窗口.(视图-输出)来打印调试信息.有Debug和Release两种版本,通过运行按钮右边的选项可以选择程序的运行方式.而对应的现实调试信息的方法也不同. ...

  3. 关于DOM的有关总结

    1.获取DOM元素 document.getElementById()  通过id获取DOM元素 document.getElementsByClassName() 通过类名获取DOM元素 docum ...

  4. DC中为什么要用Uniquify?

    转自:http://blog.sina.com.cn/s/blog_68c493870101exl7.html 为了在layout中进行时钟树的综合,网表在DC中必须被uniquified.所谓uni ...

  5. 国密算法SM2证书制作

    国密算法sm2非对称算法椭圆曲线 原文:http://www.jonllen.cn/jonllen/work/162.aspx 前段时间将系统的RSA算法全部升级为SM2国密算法,密码机和UKey硬件 ...

  6. GO语言学习(七)Go 语言变量

    Go 语言变量 变量来源于数学,是计算机语言中能储存计算结果或能表示值抽象概念.变量可以通过变量名访问. Go 语言变量名由字母.数字.下划线组成,其中首个字母不能为数字. 声明变量的一般形式是使用 ...

  7. 步步为营(十五)搜索(一)DFS 深度优先搜索

    前方大坑预警! 先讲讲什么是搜索吧. 有一天你去一个果园摘梨子,果农告诉你.有一棵树上有一个金子做的梨子,找到就是你的,你该怎么找? 地图例如以下: S 0 0 0 0 0 0 0 0 0 0 0 0 ...

  8. Qt的焦点策略

    Qt的窗口部件在图形用户界面中按用户的习惯的方式来处理键盘焦点.基本出发点是用户的击键能定向到屏幕上窗口中的任何一个,和在窗口中任何一个部件中.当用户按下一个键,他们期望键盘焦点能够到达正确的位置,并 ...

  9. C# 获取文件路径,读取项目中某程序集下文件

    获取文件路径 ------------------------------------------------------------------------- winform获取文件路径: stri ...

  10. 【SPOJ 694】Distinct Substrings

    [链接]h在这里写链接 [题意]     给你一个长度最多为1000的字符串     让你求出一个数x,这个x=这个字符串的不同子串个数; [题解]     后缀数组题.     把原串复制一份,加在 ...