为什么80%的码农都做不了架构师?>>>   

买了一个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的环境

#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

所以不用在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的配置文件,内容为:

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"

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

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

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

#BEGIN TOMCAT JK#
include  conf/mod_jk.conf
#END TOMCAT JK#

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

我的整体配置如下

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>

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

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

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

<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>

作用是让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配置思路也是一样的。
如果还有问题,就检查以上的每一步。

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

转载于:https://my.oschina.net/hexin1/blog/103773

windows 2003 下的 apache(2.2.23)+tomcat(7.0.35)+p...相关推荐

  1. windows 2003 下的 apache(2.2.23)+tomcat(7.0.35)+php(5.3.21) 集成

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

  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. LIVE 预告 | CVPR 2021 预讲 · 迁移学习前沿与进展
  2. Bitcoin Unlimited发布BCH新版客户端1.5.0.0,包括CTOR和CDSV
  3. Acwing第 5 场周赛【未完结】
  4. Java有序表查找:折半查找、二分查找、差值查找和斐波那契查找
  5. Climbing Stairs - Print Path
  6. [Windows Phone] 为应用添加后台计划任务 – Scheduled Task Agent
  7. Eclipse和Notepad++快捷键
  8. linux服务器启用光口,Ubuntu中启用ssh服务
  9. python快速开发框架_GitHub - lee2029/pyui4win: 一个用python实现业务逻辑、用xml和html/css/js描述界面的windows程序的快速开发框架...
  10. vue项目实战环境的搭建 -- 项目创建及连接github(gitee同理)
  11. Kaggle Tabular Playground Series - Jan 2022 学习笔记1(数据分析)
  12. 【OUC深度学习入门】第4周学习记录:MobileNetV1, V2, V3
  13. linux的多重启动管理器,使用多重启动管理器GRUB引导Linux系统.pdf
  14. linux pyinstaller打包python文件
  15. Unity 基础开发-WebGL发布无法运行问题
  16. 用户聊天记录存储表(亿级别)优化及分片策略
  17. Python爬虫——Scrapy框架
  18. IntelliJ IDEA 使用 rest client
  19. TNS-01189、TNS-01106
  20. android 播放英强博客,Android内存管理、监测剖析

热门文章

  1. 当企业拥有独立的官方网站时,意味着什么?
  2. 学校图书借阅管理系统(python + sql serve)数据库大作业
  3. 2021年系统集成项目管理工程师考试大纲
  4. javascript文件分类的探索
  5. 函数可导和可微的区别: 一元中互为充要;多元中可微是可导的必要条件,可导不一定可微。
  6. START 0.297.2 中文版 (腾讯官方云游戏平台)
  7. iOS开发系列通讯录、蓝牙、内购、GameCenter、iCloud、Passbook系统服务开
  8. 看这一篇就够了!ROS2入门学习:安装、测试、多机通信以及与ROS1的切换、通信
  9. 裁员寒潮中 自媒体人该如何突破?
  10. 蒙特梭利素材大洲拼图素材高清蒙氏素材