- 论坛徽章:
- 0
|
Apache2 上的 Resin2.x 和 Resin3.x 共存方法
最近公司增加新服务器,新的服务器上将运行 resin3, 且处于内网,作为外网的服务器(运行Resin2)上的应用不进行迁移,为了可以使外网服务器上运行的 apache2 可以同时加载 resin 模块且分别将请求发送到不同的 resin 处理,对 resin3 apache模块进行了小修改,使一个 apache2 里可以共存 resin2 和 resin3 模块。
对 Resin2 模块不进行修改
Resin3 模块的修改
1. 复制 Resin3 模块源代码 mod_caucho.c 为 mod_caucho3.c
找到 mod_caucho3.c 中 的 Apache 模块定义 caucho_module 修改为 caucho3_module 同时把应用到该定义的地方全部修改为 caucho3_module
/*
* Apache magic module declaration.
*/
module AP_MODULE_DECLARE_DATA caucho_module;
修改 caucho-status 为 caucho3-status
修改 caucho-request 为 caucho3-request
以上 2 个是为了在 apache2 配置中可以区分把这两个请求分别发送到不同版本的 resin 中
然后重新编译生成 mod_caucho.so 改名为 mod_caucho3.so 备用
设系统中已经正常运行了 apache2 resin2 以及 resin3
在 apache2 配置文件中
对 resin2 的配置
- <IfModule !mod_caucho.c>;
- LoadModule caucho_module "modules/mod_caucho.so"
- </IfModule>;
- <IfModule mod_caucho.c>;
- CauchoConfigFile "/usr/local9/srv/resin/conf/resin.conf"
- <Location /caucho-status>;
- SetHandler caucho-status
- </Location>;
- <Location /resin2-doc>;
- SetHandler caucho-request
- </Location>;
- </IfModule>;
复制代码
对 Resin3 的配置
- <IfModule !mod_caucho3.c>;
- LoadModule caucho3_module "modules/mod_caucho3.so"
- </IfModule>;
- <IfModule mod_caucho3.c>;
- #############################
- ResinConfigServer 192.168.0.2 7802
- CauchoStatus yes
- <Location /caucho3-status>;
- SetHandler caucho3-status
- </Location>;
- <Location /resin3-doc>;
- SetHandler caucho3-request
- </Location>;
- #############################
- </IfModule>;
复制代码
忽略对 webapp 的配置
配置好后 重新启动 apache2,启动好 resin2,resin3 后
在浏览器中分别输入
http://<server>;/caucho-status
http://<server>;/caucho3-status
http://<server>;/resin3-doc
http://<server>;/resin2-doc
将会由不同的resin 处理不同的请求. |
|