设为首页
优惠IDC
收藏本站
六狼博客
六狼论坛
开启辅助访问
切换到窄版
用户名
Email
自动登录
找回密码
密码
登录
立即注册
只需一步,快速开始
只需一步,快速开始
快捷导航
门户
首页
BBS
云计算
大数据
手机
移动开发android,ios,windows phone,windows mobile
编程
编程技术java,php,python,delphi,ruby,c,c++
前端
WEB前端htmlcss,javascript,jquery,html5
数据库
数据库开发Access,mysql,oracle,sql server,MongoDB
系统
操作系统windows,linux,unix,os,RedHat,tomcat
架构
项目管理
软件设计,架构设计,面向对象,设计模式,项目管理
企业
服务
运维实战
神马
搜索
搜索
热搜:
php
java
python
ruby
hadoop
sphinx
solr
ios
android
windows
centos
本版
帖子
用户
六狼论坛
»
首页
›
编程技术
›
C++
›
开发环境中的Apache
返回列表
查看:
66
|
回复:
0
开发环境中的Apache
[复制链接]
gembler
gembler
当前离线
积分
27
窥视卡
雷达卡
升级
54%
当前用户组为
童生
当前积分为
27
, 升到下一级还需要 23 点。
5
主题
5
主题
5
主题
童生
童生, 积分 27, 距离下一级还需 23 积分
童生, 积分 27, 距离下一级还需 23 积分
积分
27
发消息
楼主
|
发表于 2013-1-27 04:43:05
|
显示全部楼层
|
阅读模式
假设:
项目需要做 URL Rewrite,不想用 UrlRewriteFilter 集成到应用程序里去,于是就选用一些 Web Server 来做,后来选了 Apache,但是又懒
,不想每台开发机器都去做配置,因为确实很麻烦,规则变了又要每台开发机器都去同步,如果是 Linux 还好一点,可以 mount 一下。
有四台开发机器,IP 分别为:
192.168.1.10
(Apache)
192.168.1.20
(A同事)
192.168.1.30
(B同事)
192.168.1.40
(C同事)。
在
192.168.1.10
上部署一个 Apache,做 Rewrite 规则,然后统一分发到另外三台机器上。可是每位同事的开发机器上的项目的版本有可能不一致,而且还要根据各自手头上的版本来调试。
也就是说:A同事启动了应用程序,请求
192.168.1.10
的 Apache,享受了一了Rewrite 规则
,然后被分发回A同事的 Tomcat
既然这样,每位同事都要弄个标识才行,端口是不错的选择
:
A同事:
1020
B同事:
1030
C同事:
1040
OK,标识分好了,就开始做配置了,Apache 的版本采用2.2,结合几个Module:
mod_rewrite
mod_proxy
mod_proxy_ajp
/
mod_proxy_http
在 make
/
make install Apache 前的 configure 加入几个参数:
./configure --enable-rewrite --enable-proxy --enable-proxy-ajp --enable-proxy-http
到 httpd.conf 了,当然少不了的是把 Module 们 load 进来:
LoadModule proxy_module modules/mod_proxy.soLoadModule rewrite_module modules/mod_rewrite.soLoadModule proxy_ajp_module modules/mod_proxy_ajp.soLoadModule proxy_http_module modules/mod_proxy_http.so
把几位同事对应的端口也配进去:
#A同事Listen 1020#B同事Listen 1030#C同事Listen 1040
既然每位同事都有一台开发机器,那么就给他们每人多配一台虚拟机器吧
:
#A同事<VirtualHost *:1020></VirtualHost>#B同事<VirtualHost *:1030></VirtualHost>#C同事<VirtualHost *:1040></VirtualHost>
差点忘了proxy,Oops
。都配上 mod_proxy_ajp 吧,免得麻烦。
在这个时候,C同事的孩子气来了,他说他一定要 mod_proxy_http,
。。。。。
#顺被带上RewriteRule#A同事<VirtualHost *:1020> ProxyPass / ajp://192.168.1.20:8009/ ProxyPassReverse / ajp://192.168.1.20:8009/ RewriteEngine On #RewriteRule... ...</VirtualHost>#B同事<VirtualHost *:1030> ProxyPass / ajp://192.168.1.30:8009/ ProxyPassReverse / ajp://192.168.1.30:8009/ RewriteEngine On #RewriteRule... ...</VirtualHost>#C同事<VirtualHost *:1040> ProxyPass / http://192.168.1.40:8080/ ProxyPassReverse / http://192.168.1.40:8080/ RewriteEngine On #RewriteRule... ...</VirtualHost>
个人感觉 mod_proxy 的风格比 mod_jk 好。 但是有一点很不爽,如果我想 /topics 目录下的 html 都由 Apache 解析,jsp都要由 Tomcat 解析。开始想着 “ProxyPass /topics/*.html !” 就行,后来屡试不爽,…#&¥@#×(&%×,竟然不支持通配符。
在 Tomcat 的 server.xml 里,AJP代理的,就对应回 AJP Connector 的 port,Http代理的,就对应回 Http Connector 的 port,另外,如果想在程序里用 request.getServerName() 取到代理的 Name、用request.getServerPort() 取到代理的 Port,就在 Connector 里配置 proxyName 和 proxyPort 吧。
OK,可以测试一下了:
A同事在地址栏敲入:http://
192.168.1.10
:
1020
B同事在地址栏敲入:http://
192.168.1.10
:
1030
C同事在地址栏敲入:http://
192.168.1.10
:
1040
各取其需。。。。。。。可以写 Rewrite Rule 去了..
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
千斤顶
显身卡
返回列表
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
本版积分规则
发表回复
回帖后跳转到最后一页
浏览过的版块
Html/Css
Copyright © 2008-2020
六狼论坛
(https://it.6wolf.com) 版权所有 All Rights Reserved.
Powered by
Discuz!
X3.4
京ICP备14020293号-2
本网站内容均收集于互联网,如有问题请联系
QQ:389897944
予以删除
快速回复
返回顶部
返回列表