windows 2003 下的 apache(2.2.23)+tomcat(7.0.35)+p...
为什么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...相关推荐
- windows 2003 下的 apache(2.2.23)+tomcat(7.0.35)+php(5.3.21) 集成
买了一个VPS 由于需求,需要在上面配置可以支持discuz论坛,也可以支持j2ee的项目 配置这个环境搞了我1天多才搞出来,之间很曲折啊,于是用记录下过程,希望能帮助需要帮助的人. 网上非常多的 a ...
- windows 2003下snort安装
windows 2003下snort安装 2007-12-09 16:03 snort 是一个强大的轻量级的网络***检测系统.它具有实时数据流量分析和日志IP 网络数据包的能力,能够进行协议分析,对 ...
- Windows 2003 下手动关闭危险端口
Windows 2003 下手动关闭危险端口怎样关闭端口 默认情况下windows有很多端口是开放的.在你上网的时候,网络病毒和黑客可以通过这些端口连上你的电脑.所以应该关闭.主要有tcp 135 , ...
- Windows 2003下×××服务器架设攻略
原文地址[url]http://bbs.51cto.com/thread-49347-1-1.html[/url] Windows 2003下×××服务器架设攻略 笔者有不少朋友因为工作关系常常移动办 ...
- 超详细Windows环境下使用Apache部署Django项目教程
目录 超详细Windows环境下使用Apache部署Django项目教程 1.什么是Apache 2.安装并配置Apache 2.1 下载Apache 2.2 解压Apache到文件夹 2.3 配置c ...
- windows 2003下玩CS“视频无法使用,找不到vids.cvid解压缩程序”的解决办法
windows 2003下玩CS"视频无法使用,找不到vids:cvid解压缩程序"的解决办法 出现这个问题一般在Windows Server 2003系统下,比如在玩CS游戏时, ...
- 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 ...
- Windows 2003 下 SquirrelMail 的安装
(一) 软件下载: 1. 下载 squirrelmail-1.4.11.zip 地址:http:// squirrelmail.org/ 2. 下载 ActivePerl-5.8.8.822-MSWi ...
- Windows 2003下网络负载平衡(负载均衡)的配置
网络负载平衡(网络负载均衡.NLB.集群)概述 首先,我们先了解下 Windows 2003 自带的 负载平衡(负载均衡)-- Network Load Balancing,简称NLB.NLB是一种集 ...
最新文章
- LIVE 预告 | CVPR 2021 预讲 · 迁移学习前沿与进展
- Bitcoin Unlimited发布BCH新版客户端1.5.0.0,包括CTOR和CDSV
- Acwing第 5 场周赛【未完结】
- Java有序表查找:折半查找、二分查找、差值查找和斐波那契查找
- Climbing Stairs - Print Path
- [Windows Phone] 为应用添加后台计划任务 – Scheduled Task Agent
- Eclipse和Notepad++快捷键
- linux服务器启用光口,Ubuntu中启用ssh服务
- python快速开发框架_GitHub - lee2029/pyui4win: 一个用python实现业务逻辑、用xml和html/css/js描述界面的windows程序的快速开发框架...
- vue项目实战环境的搭建 -- 项目创建及连接github(gitee同理)
- Kaggle Tabular Playground Series - Jan 2022 学习笔记1(数据分析)
- 【OUC深度学习入门】第4周学习记录:MobileNetV1, V2, V3
- linux的多重启动管理器,使用多重启动管理器GRUB引导Linux系统.pdf
- linux pyinstaller打包python文件
- Unity 基础开发-WebGL发布无法运行问题
- 用户聊天记录存储表(亿级别)优化及分片策略
- Python爬虫——Scrapy框架
- IntelliJ IDEA 使用 rest client
- TNS-01189、TNS-01106
- android 播放英强博客,Android内存管理、监测剖析
热门文章
- 当企业拥有独立的官方网站时,意味着什么?
- 学校图书借阅管理系统(python + sql serve)数据库大作业
- 2021年系统集成项目管理工程师考试大纲
- javascript文件分类的探索
- 函数可导和可微的区别: 一元中互为充要;多元中可微是可导的必要条件,可导不一定可微。
- START 0.297.2 中文版 (腾讯官方云游戏平台)
- iOS开发系列通讯录、蓝牙、内购、GameCenter、iCloud、Passbook系统服务开
- 看这一篇就够了!ROS2入门学习:安装、测试、多机通信以及与ROS1的切换、通信
- 裁员寒潮中 自媒体人该如何突破?
- 蒙特梭利素材大洲拼图素材高清蒙氏素材