resin4 配置
转载:https://www.xuebuyuan.com/3199310.html
https://www.cnblogs.com/happy-coder/p/6407122.html
1. Resin4配置文件发生了较大变化,分为:
- app-default.xml web应用配置
- cluster-default.xml 集群配置
- health.xml -- 非pro版不支持
- resin.xml
- resin.properties 会被修改的变量
2. Resin4启动默认有三个端口:
- watch dog 用的6600 (配置文件里没有)
- Http端口:8080 (对应app.http)
- Server监听端口: 127.0.0.1:6800 (对应app_servers )
说明:单个Resin不管同时配置几个应用,每次启动Resin之后,只会启动一个WatchDog监听,kill掉WatchDog后,所有的实例都会停止,WatchDog运行中,kill掉某个实例后,该实例会自动重启。
经验证:只要WatchDog在运行中,修改server端口,不需要重启resin。
开始配置:
一.删除/注释resin社区版本不支持的功能
1.health:
修改resin.xml, 删除
<resin:import path="${__DIR__}/health.xml"/>
2.仅需要保留自己使用的cluster(id="app"),
其它的可以删除
修改resin.xml, 删除cluster id="web", cluster id="memcached"
二.自定义端口
1.修改Server端口6800
<server-multi id-prefix="app-" address-list="${app_servers}" port="6800"/>
2.修改WatchDog端口6600
<server-multi id-prefix="app-" address-list="127.0.0.1" port="6801">
<watchdog-port>6601</watchdog-port>
</server-multi>
3.修改应用端口8080
<server-multi id-prefix="app-" address-list="127.0.0.1" port="6801">
<watchdog-port>6601</watchdog-port>
<http address="*" port="8081"/>
</server-multi>
4.修改resin.properties文件
修改app_servers的端口号为相应的端口号
app_servers : 127.0.0.1:6801
注释app.http,因为app.http会与上文的<server-multi>中的 <http address="*" port="8081"/> 的端口号产生冲突。
我试验过,如果两个都写一样,则会直接显示jvm端口号占用问题;如果两个写不一样,则两个端口号都可以访问应用。
这里我选择注释掉app.http
# app.http : 8081
三.添加自定义的应用
修改resin.xml,添加
1.添加host
<web-app id="/resindemo" root-directory="webapps/resindemo" />
2.防止避免hash collision dos攻击
form-parameter-max 用来限制每次post submit的参数个数
<web-app id="/resindemo" root-directory="webapps/resindemo" >
<form-parameter-max>100</form-parameter-max>
</web-app>
3.日志
<web-app id="/resindemo" root-directory="webapps/resindemo" >
<form-parameter-max>100</form-parameter-max>
<stderr-log path='log/stderr.log' timestamp='[%Y-%m-%d %H:%M:%S] ' rollover-period='1D'/>
<stdout-log path='log/stdout.log' timestamp='[%Y-%m-%d %H:%M:%S] ' rollover-period='1D'/>
</web-app>
注意,stdout-log目前只会输出系统中System.out.println()的内容,和以前版本不同。