Resin 在同一台机器不同端口启动两个应用
2016-03-07 14:11
218 查看
Resin 运行起来后,一般有这么几个端口
1. WatchDog 的端口,默认6600
2. Server 监控端口,默认6800
3. 应用的HTTP端口,默认8080
不管有多少个应用,Resin只会启动一个WatchDog 实例。
本文所说的并不是通过不同的url前缀来配置不同的应用,我们希望具有如下效果
访问 http://localhost:8081/ 对应的是Web应用1
访问 http://localhost:8082/ 对应的是Web应用2
或者可能是同一个应用,但是两个或者多个端口都可以访问,这在应用的集群中是非常有用的。
首先Resin中每个应用会占用一个HTTP端口以及一个Server监控端口,假设有两个应用,我们事先分配好端口分别是:
Web1:8081,6801
Web2:8082,6802
下面是详细的配置(resin.xml):
<resin xmlns="http://caucho.com/ns/resin"
xmlns:resin="http://caucho.com/ns/resin/core">
<log name="" level="info" path="stdout:"/>
<cluster id="web1">
<server-default>
<jvm-arg>-Xmx1024m</jvm-arg>
<jvm-arg>-Xss1m</jvm-arg>
<jvm-arg>-server</jvm-arg>
</server-default>
<resin:import path="${resin.home}/conf/app-default.xml"/>
<server id="web1" port="6801">
<http id="" port="8081"/>
</server>
<host id="" root-directory=".">
<web-app id="/" root-directory="D:/WORKDIR/web1" redeploy-mode="manual"/>
</host>
</cluster>
<cluster id="web2">
<server-default>
<jvm-arg>-Xmx1024m</jvm-arg>
<jvm-arg>-Xss1m</jvm-arg>
<jvm-arg>-server</jvm-arg>
</server-default>
<resin:import path="${resin.home}/conf/app-default.xml"/>
<server id="web2" port="6802">
<http id="" port="8082"/>
</server>
<host id="" root-directory=".">
<web-app id="/" root-directory="D:/WORKDIR/web2/webapp" redeploy-mode="manual"/>
</host>
</cluster>
</resin>
上面的配置中,我们为每个应用分配一个唯一的 server id,分别是 web1 和 web2
要启动这两个应用,命令是
/usr/local/resin/bin/resin.sh start -server web1
/usr/local/resin/bin/resin.sh stop -server web2
停止以及重启应用的方式也是一样。
这样部署的好处:
两个独立的进程,可以单独进行管理,例如重启其中一个应用,不会对另外一个造成影响。
1. WatchDog 的端口,默认6600
2. Server 监控端口,默认6800
3. 应用的HTTP端口,默认8080
不管有多少个应用,Resin只会启动一个WatchDog 实例。
本文所说的并不是通过不同的url前缀来配置不同的应用,我们希望具有如下效果
访问 http://localhost:8081/ 对应的是Web应用1
访问 http://localhost:8082/ 对应的是Web应用2
或者可能是同一个应用,但是两个或者多个端口都可以访问,这在应用的集群中是非常有用的。
首先Resin中每个应用会占用一个HTTP端口以及一个Server监控端口,假设有两个应用,我们事先分配好端口分别是:
Web1:8081,6801
Web2:8082,6802
下面是详细的配置(resin.xml):
<resin xmlns="http://caucho.com/ns/resin"
xmlns:resin="http://caucho.com/ns/resin/core">
<log name="" level="info" path="stdout:"/>
<cluster id="web1">
<server-default>
<jvm-arg>-Xmx1024m</jvm-arg>
<jvm-arg>-Xss1m</jvm-arg>
<jvm-arg>-server</jvm-arg>
</server-default>
<resin:import path="${resin.home}/conf/app-default.xml"/>
<server id="web1" port="6801">
<http id="" port="8081"/>
</server>
<host id="" root-directory=".">
<web-app id="/" root-directory="D:/WORKDIR/web1" redeploy-mode="manual"/>
</host>
</cluster>
<cluster id="web2">
<server-default>
<jvm-arg>-Xmx1024m</jvm-arg>
<jvm-arg>-Xss1m</jvm-arg>
<jvm-arg>-server</jvm-arg>
</server-default>
<resin:import path="${resin.home}/conf/app-default.xml"/>
<server id="web2" port="6802">
<http id="" port="8082"/>
</server>
<host id="" root-directory=".">
<web-app id="/" root-directory="D:/WORKDIR/web2/webapp" redeploy-mode="manual"/>
</host>
</cluster>
</resin>
上面的配置中,我们为每个应用分配一个唯一的 server id,分别是 web1 和 web2
要启动这两个应用,命令是
/usr/local/resin/bin/resin.sh start -server web1
/usr/local/resin/bin/resin.sh stop -server web2
停止以及重启应用的方式也是一样。
这样部署的好处:
两个独立的进程,可以单独进行管理,例如重启其中一个应用,不会对另外一个造成影响。
相关文章推荐
- C#临门一脚
- Leet Code OJ 219. Contains Duplicate II [Difficulty: Easy]
- 【Xamarin挖墙脚系列:应用的性能调优】
- jQuery响应式幻灯片插件jquery.glide.js(支持触摸&轻量级)
- JMeter的基本介绍和入门
- Android开发之DatePickerDialog与TimePickerDialog的功能和使用方法具体解释
- 推荐几款jQuery表格插件
- java集合框架
- python获取外网ip的代码
- centos7防火墙
- C# Linq 交集、并集、差集、去重http://blog.csdn.net/joyhen/article/details/39578325
- TextView后加字体并改变颜色点击跳转
- IT十八掌作业_java基础第三天_数组
- VC++之Office自动化开发
- Unity Notes之屏幕触点轨迹的平滑
- 【Xamarin挖墙脚系列:移动设备应用的开发周期及准则】
- jQuery滚动条插件 – jquery.slimscroll.js
- solr.Net课程一 solr5.5安装配置
- 浅析 Linux 初始化 init 系统,第 1 部分: sysvinit 第 2 部分: UpStart 第 3 部分: Systemd
- 解决 cocos android 接入友盟推送 sdk 在5.0以下的系统出现UnsatisfiedLinkError 错误