买了一个VPS
由于需求,需要在上面配置可以支持discuz论坛,也可以支持j2ee的项目
配置这个环境搞了我1天多才搞出来,之间很曲折啊,于是用记录下过程,希望能帮助需要帮助的人。

网上非常多的 apache+tomcat+php
但是都非常旧了,不适合,而且有的地方还有误导。

vps装的是 windows 2003 sp2的系统

首先是准备软件

discuz http://www.discuz.net/thread-2744369-1-1.html
当前稳定版是 2.5 ,但是必须要5.0以上的php支持

php http://windows.php.net/download
(我选的是稳定版5.3.21,php版本5.3.21以上后,不分V6和V9,网上很多地方说用apache用V6,IIS用V9当时就让我郁闷半天。因为官网上没有V6版本,只有V9,于是索性我下了一个V9,下载下来安装的时候会发现有apache和iis的选项,所以5.3.21以上的版本不分V6,V9,直接支持apache和iis,还有需要注意的是,5.3.21的php对应的apache版本是2.2.x,所以apache版本也就定了)

apache http://httpd.apache.org/download.cgi#apache22
现在稳定版是2.2.23

tomcat http://tomcat.apache.org/download-70.cgi
我选的是32位的解压版7.0.35(个人喜好,我喜欢解压了以后手动批处理注册为系统服务)

Tomcat Connectors JK (Apache就是通过这个插件连接的tomcat)http://apache.dataguru.cn//tomcat/tomcat-connectors/jk/binaries/windows/
要根据apache的版本选择下载 我的是apache2.2.x的 所以下载的是 tomcat-connectors-1.2.37-windows-i386-httpd-2.2.x.zip

我网站根路劲是在D:\WebRoot
D:\WebRoot\qqtool8 放discuz的论坛 域名http://www.qqtool8.com 以下就称A网站
D:\WebRoot\hainayun 放j2ee的海娜韵网站 域名http://www.hainayun.com 以下就称B网站
D:\WebRoot\heyefan 放j2ee的荷叶饭网站 域名http://www.heyefan.cn 以下就称C网站
A网站用php解析,B和C网站都部署在同一个tomcat

第一步:安装apache
apache的安装很简单,不用多说
我的安装路劲是D:\Program Files\Apache Software Foundation\Apache2.2

安装完了可以启动服务 然后在浏览器输入网址http://localhost 看到 it works 就OK了
启动不了看错误日志,注意windows 2003的vps自动开启了iis 需要手动停止并禁用,避免80端口冲突。

第二步:安装php
php安装也简单,我安装的时候把php附加的所有功能都安装上了,表达式什么的,注意到了一个安装界面后 会让你选择 httpserver  有apache 2.2.x 有iis..

所以我这里直接选apache

php安装路劲为:D:\Program Files\PHP

注意安装好了以后 会直接在D:\Program Files\Apache Software Foundation\Apache2.2\conf\httpd.conf
里的最末尾 大概494行处,自动加上php的环境

<span style="font-size:12px;">#BEGIN PHP INSTALLER EDITS - REMOVE ONLY ON UNINSTALL
PHPIniDir "D:\Program Files\PHP\"
LoadModule php5_module "D:\Program Files\PHP\php5apache2_2.dll"
#END PHP INSTALLER EDITS - REMOVE ONLY ON UNINSTALL</span>

所以不用在apache的httpd.conf里面再手动配置php其他东西了
再看D:\Program Files\PHP\php.ini
查找short_open_tag = Off把它修改成short_open_tag = On,让其支持短标签。
不知道这个短标签干啥的,如果没用就什么都不用改了,网上说的那些表达式,都是默认开启了的,不知道是不是我安装的时候选了所有功能的结果。

安装好了以后自己放一个如index.php的文件到D:\Program Files\Apache Software Foundation\Apache2.2\htdocs(apache的默认web路劲)访问http://localhost/index.php 看php是否正常

第四步:部署tomcat
我的tomcat解压在D:\Program Files\Tomcat
然后手动写个批处理注册为系统服务
不会的可以看看我的这篇文章
http://blog.csdn.net/hexin373/article/details/6631568
启动tomcat的系统服务就可以输入 http://localhost:8080访问了

这个时候 php 和 jsp都可以单独运行了。

第五步:集成apache+tomcat+php
首先说一下原理和目的:
apache收到A网站的请求要用php解析 而且网站目录是D:\WebRoot\qqtool8
apache收到B网站的请求要转发给Tomcat 然后由Tomcat解析D:\WebRoot\hainayun里面的内容
apache收到C网站的请求要转发给Tomcat 然后由Tomcat解析D:\WebRoot\heyefan里面的内容 
注意:转发这里就是关键了apache通过mod_jk插件和tomcat的AJP端口连接的,
tomcat默认的ajp端口为 8009
tomcat默认的http端口为 8080
所以这里也我是当时迷惑的地方

当apache和tomcat集成了以后 tomcat的8080http端口就可以不用了 整行都可以注释掉...
你也可以保留,这样你可以用apache的80端口间接访问你的项目,也可以用tomcat的8080端口直接访问你的项目

所以配置mod_jk是重点
开始配置mod_jk
1.把你的mod_jk.so(tomcat-connectors-1.2.37-windows-i386-httpd-2.2.x.zip)解压到D:\Program Files\Apache Software Foundation\Apache2.2\modules下面,这样apache就有了mod_jk支持。

2.在D:\Program Files\Apache Software Foundation\Apache2.2\conf下建立名字为mod_jk.conf的配置文件,内容为:

<span style="font-size:12px;">LoadModule jk_module modules/mod_jk.so
JkWorkersFile conf/workers.properties
JkLogFile logs/mod_jk.log
JkLogLevel info
JkLogStampFormat "[%a %b %d %H:%M:%S %Y] "
JkRequestLogFormat "%w %V %T"</span>

3.在D:\Program Files\Apache Software Foundation\Apache2.2\conf下建立名字为workers.properties的配置文件,内容为:
worker.list=tomcat1   #这里可以有多个tomcat,比如tomcat2  名字是取的别名,可以随意命名,不过要和后面的对应上

<span style="font-size:12px;">worker.tomcat1.port=8009
worker.tomcat1.host=127.0.0.1
worker.tomcat1.type=ajp13
worker.tomcat1.lbfactor=10#如果有tomcat2 就是如下配置
#worker.tomcat2.port=8019
#worker.tomcat2.host=127.0.0.1
#worker.tomcat2.type=ajp13
#worker.tomcat2.lbfactor=1
</span>

4.在httpd.conf最末尾增加mod_jk的配置

<span style="font-size:12px;">#BEGIN TOMCAT JK#
include  conf/mod_jk.conf
#END TOMCAT JK#</span>

5.查找httpd.conf中httpd-vhosts,大概在470行,Include conf/extra/httpd-vhosts.conf 取消注释,作用是让apache收到A,B,C三个域名后解析到不同的服务器

6.编辑D:\Program Files\Apache Software Foundation\Apache2.2\conf\extra\httpd-vhosts.conf

我的整体配置如下

<span style="font-size:12px;">NameVirtualHost *:80<VirtualHost *:80>
ServerAdmin webmaster@dummy-host.example.com
DocumentRoot "D:/WebRoot/qqtool8"
ServerName www.qqtool8.com
ServerAlias www.qqtool8.com
ErrorLog "logs/qqtool8.com-error_log"
CustomLog "logs/qqtool8.com-access_log" common
</VirtualHost><VirtualHost *:80>
ServerAdmin webmaster@dummy-host.example.com
DocumentRoot "D:/WebRoot/hainayun"
ServerName  www.hainayun.com
ServerAlias www.hainayun.com
ErrorLog "logs/hainayun.com-error_log"
CustomLog "logs/hainayun.com-access_log" common
<Directory "D:/WebRoot/hainayun/WEB-INF">
Options FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
</Directory>
<Directory "D:/WebRoot/hainayun">
Options Indexes FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
DirectoryIndex index.jsp index.html index.htm
</Directory>
JkMount /* tomcat1
</VirtualHost><VirtualHost *:80>
ServerAdmin webmaster@dummy-host.example.com
DocumentRoot "D:/WebRoot/heyefan"
ServerName  www.heyefan.cn
ServerAlias www.heyefan.cn
ErrorLog "logs/heyefan.com-error_log"
CustomLog "logs/heyefan.com-access_log" common
<Directory "D:/WebRoot/heyefan/WEB-INF">
Options FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
</Directory>
<Directory "D:/WebRoot/heyefan">
Options Indexes FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
DirectoryIndex index.jsp index.html index.htm
</Directory>
JkMount /* tomcat1
</VirtualHost>
</span>

我把空格都去掉了,因为有空格apache启动不起来,报错。 这里的tomcat1对应上面的workers.properties的tomcat1
上面的属性设置我就不挨个解释了,不懂可以查api,不过直接看英文应该基本都知道是什么作用了。

这样配置好了以后,A网站过来的请求就直接解析到了D:/WebRoot/qqtool8
B和C网站过来的请求分发给了tomcat

第六步:修改tomcat的server.xml(D:\Program Files\Tomcat\conf)
在文件末尾</Engine>标签前添加

<span style="font-size:12px;"><Host name="www.heyefan.cn"  appBase=""unpackWARs="true" autoDeploy="true"><Context path="" docBase="D:\WebRoot\heyefan" debug="0" reloadable="true" /></Host><Host name="www.hainayun.com"  appBase=""unpackWARs="true" autoDeploy="true"><Context path="" docBase="D:\WebRoot\hainayun" debug="0" reloadable="true" /></Host></span>

作用是让tomcat支持多个项目,收到解析后解析到对应的项目路劲。
这里需要特别注意一点 这个问题曾经让我很头疼
http://blog.csdn.net/hexin373/article/details/8291962这里有说
就是docBase和appBase  路劲只能写在docBase,如果写在了appBase,项目是能运行,但是有权限过滤的话,就不起作用!如果你有这个问题,切忌啊...

第七步:部署discuz
修改的配置下Apache的httpd.conf里面的三处
1.查找DirectoryIndex index.html 将其修改成DirectoryIndex index.php default.php index.html index.htm default.html default.htm (索引页)
2.查找DocumentRoot将其修改为指向你需要放置web文件的文件夹上 所以DocumentRoot就是DocumentRoot "D:/WebRoot/qqtool8",根据自己配置来修改。
3.查找第2个<Directory 大概在206行,将其修改为你自己配置的DocumentRoot的路径(我的是<Directory "D:/WebRoot/qqtool8">)
傻瓜式部署,把下载好的压缩包中的 upload文件夹解压到 D:/WebRoot/qqtool8

第八步:部署j2ee的网站
把自己项目放到对应的D:/WebRoot/hainayun和D:/WebRoot/heyefan

第九步:启动apache
如果不出意外,apache就能正常启动了,如果不正常,请看错误日志,如果看不到错误日志以上的每步都要确保正确,每一步配置的时候都检测下配置是否正确。
用命令行
检查错误方法:进入cmd 然后进入 Apache安装目录(具体为你自己的安装目录)\bin> httpd.exe -w -n "Apache2.2" -k start
Apache2.2是我的apache在windows里面的服务名,如果不一样,请修改成你自己的服务名,这样执行后就会提示你httpd.conf的哪一行有问题。

这里还要特别注意一点,就是apache的服务启动了,tomcat的服务也是需要启动的,不然就没有j2ee的web服务器了。刚开始我就搞不清楚配置完以后需要启动些什么。

这样基本上集成就弄完了。
另外linux配置思路也是一样的。
如果还有问题,就检查以上的每一步。

反正当时我配置搞了好久,现在总算搞好了,希望能帮助到看帖的你,呵呵....

windows 2003 下的 apache(2.2.23)+tomcat(7.0.35)+php(5.3.21) 集成相关推荐

  1. windows 2003 下的 apache(2.2.23)+tomcat(7.0.35)+p...

    为什么80%的码农都做不了架构师?>>>    买了一个VPS 由于需求,需要在上面配置可以支持discuz论坛,也可以支持j2ee的项目 配置这个环境搞了我1天多才搞出来,之间很曲 ...

  2. windows 2003下snort安装

    windows 2003下snort安装 2007-12-09 16:03 snort 是一个强大的轻量级的网络***检测系统.它具有实时数据流量分析和日志IP 网络数据包的能力,能够进行协议分析,对 ...

  3. Windows 2003 下手动关闭危险端口

    Windows 2003 下手动关闭危险端口怎样关闭端口 默认情况下windows有很多端口是开放的.在你上网的时候,网络病毒和黑客可以通过这些端口连上你的电脑.所以应该关闭.主要有tcp 135 , ...

  4. Windows 2003下×××服务器架设攻略

    原文地址[url]http://bbs.51cto.com/thread-49347-1-1.html[/url] Windows 2003下×××服务器架设攻略 笔者有不少朋友因为工作关系常常移动办 ...

  5. 超详细Windows环境下使用Apache部署Django项目教程

    目录 超详细Windows环境下使用Apache部署Django项目教程 1.什么是Apache 2.安装并配置Apache 2.1 下载Apache 2.2 解压Apache到文件夹 2.3 配置c ...

  6. windows 2003下玩CS“视频无法使用,找不到vids.cvid解压缩程序”的解决办法

    windows 2003下玩CS"视频无法使用,找不到vids:cvid解压缩程序"的解决办法 出现这个问题一般在Windows Server 2003系统下,比如在玩CS游戏时, ...

  7. Windows Server 2003 下安装Apache+Php+Mysql

    系统环境: Windows Server 2003 Enterprise Edition 所需软件: httpd-2.2.22-win32-x86-no_ssl.msi php-5.4.5-Win32 ...

  8. Windows 2003 下 SquirrelMail 的安装

    (一) 软件下载: 1. 下载 squirrelmail-1.4.11.zip 地址:http:// squirrelmail.org/ 2. 下载 ActivePerl-5.8.8.822-MSWi ...

  9. Windows 2003下网络负载平衡(负载均衡)的配置

    网络负载平衡(网络负载均衡.NLB.集群)概述 首先,我们先了解下 Windows 2003 自带的 负载平衡(负载均衡)-- Network Load Balancing,简称NLB.NLB是一种集 ...

最新文章

  1. WinForm/MIS项目开发之中按钮级权限实践
  2. kotlin面向对象之接口、代理与委托、单例模式
  3. Java直接内存与非直接内存性能测试
  4. JavaWeb黑马旅游网-学习笔记09【旅游线路收藏】
  5. JavaScript基础12-day14【DOM查询(获取元素节点、获取元素节点的子节点)、全选练习、DOM增删改、DOM添加删除记录、Window对象方法】
  6. VTK:可视化之QuadricLODActor
  7. 任务管理平台_基于notion详谈任务规划的思路(二):搭建任务管理平台
  8. mysql 备份成文件的脚本_Mysql自动全量备份脚本
  9. 拥抱创新二十载,微软“创新杯”持续孵化中国青年开发者智慧创意
  10. (转)淘淘商城系列——内容分类管理
  11. JavaScript 进阶问题列表
  12. java笔试之从单向链表中删除指定值的节点
  13. 图片试卷怎么打印出来?
  14. 高考476分在浙江计算机学院,2021年高考476分左右能上什么大学(100所)
  15. Python数据分析理论与实战完整版本
  16. raspberry(树莓派)的简介及实验
  17. 网页内嵌的视频添加 vtt 外挂字幕
  18. C文件操作——设置文件的位置指示器fseek函数(一般用于二进制文件)
  19. 使用vite安装vue3.0(不是脚手架)
  20. react-native Error installing Flipper-Glog

热门文章

  1. 北京 住房公积金 查询
  2. 验证FormView中CheckListBox是否被选种
  3. 最有效的英文单词记忆法
  4. 华为手机备忘录怎么锁起来
  5. 入门深度学习OCR(Optical character recognition)开发
  6. 杭州java培训公司排名
  7. i.MX8MP开发板移植USBWIFI RTL8192EU驱动
  8. projects.txt
  9. JQuery 选择器重点内容
  10. Reconstructing Detailed Dynamic Face Geometry from Monocular Video 论文笔记