现在的位置: 首页 > 综合 > 正文

Open Source Resin 4.0.27配置简析

2013年03月07日 ⁄ 综合 ⁄ 共 3202字 ⁄ 字号 评论关闭

Resin4.0.7 --- Resin4.0.27

Resin44.0.24开始配置文件格式有较大变化。拆分为

app-default.xml web应用配置

cluster-default.xml 集群配置,在microblog中,一台服务是一个cluster

resin.xml 

resin.properties 会被修改的变量

安装

cd resin-4.0.27

./configure --prefix=`pwd`; make; make install

避免出现错误:

Unable to find native library 'resin_os' for com.caucho.loader.ClassEntry. Resin expects to find this library in:

                         (Unix) /disk1/microblog/resin-4.0.27/libexec64/libresin_os.so

OpenSource Resin4 不支持LoadBalanceHealth

删除/注释 相应配置

health

 <!--

     - health configuration

    -->

  <resin:import path="${__DIR__}/health.xml"/>

删除

  <cluster id="web">

    <!-- define the servers in the cluster -->

    <server-multi id-prefix="web-" address-list="${web_servers}" port="6810"/>

loadbalance:

    <host id="" root-directory="web">

      <web-app id="">

        <resin:LoadBalance regexp="" cluster="app"/>

      </web-app>

    </host>

  </cluster>

端口

Resin 运行起来后,一般有这么几个端口

1. WatchDog 的端口,默认6600
2. Server 监控端口,默认6800
3. 应用的HTTP端口,默认8080

修改resin.properties

http          : 8080  ---> 30080

添加 watchdog_port: 6606

添加 server_listen_port: 6866

修改resin.xml

  <cluster id="app">

    <!-- define the servers in the cluster -->

    <server-multi id-prefix="app-" address-list="${app_servers}" port="${server_listen_port?:6800}">

        <watchdog-port>${watchdog_port?:6600}</watchdog-port>

    </server-multi>

admin/doc/deploy

禁用resin的管理界面

修改resin.properties

web_admin_enable : false

session_store : false (每个服务器是一个集群,不需要考虑session 持久化)

resin_doc : false

dev_mode:false

在resin.properties添加:

 form_parameter_max:100 #hash dos protection

 

修改resin.xml

 <web-app id="/" root-directory="webapps/microblog" redeploy-mode="manual">

        <form-parameter-max>${form_parameter_max?:100}</form-parameter-max>   

 </web-app>

form-parameter-max  用来限制每次post submit的参数个数,避免hash collision dos

修改cluster-default.xml

注释:

<!--

      <port-default>

        <port-thread-max>${port_thread_max}</port-thread-max>

        <accept-thread-min>${accept_thread_min}</accept-thread-min>

        <accept-thread-max>${accept_thread_max}</accept-thread-max>

        <tcp-cork>${tcp_cork}</tcp-cork>

      </port-default>

-->

port_thread_max: 每个端口最多可以有的活跃线程数,避免系统负载压力过大。

这些参数在4.0.7中都没有,不能预估,先忽略了。。。!

这种配置在Resin 代码中对应的变量名为 portThreadMax acceptThreadMin acceptThreadMax,固定格式

日志

4.0.27 log4.0.7 log 有些不同

 <stdout-log path="log/stdout.log" rollover-period="1D" timestamp="[%H:%M:%S.%s] "/> 只会输出系统中System.out.println()的内容。

 <log-handler name="" level="all" path="log/microblog.log"

               timestamp="[%y-%m-%d %H:%M:%S.%s]" rollover-period="1D"/>

输出microblog中的内容

修改resin.xml:

<log-handler name="" level="all" path="log/microblog.log"

               timestamp="[%y-%m-%d %H:%M:%S.%s]" rollover-period="1D"/>

  <stdout-log path="log/stdout.log" rollover-period="1D" timestamp="[%H:%M:%S.%s] "/>

  <stderr-log path="log/stderr.log" rollover-period="1D" timestamp="[%H:%M:%S.%s] "/>

日志每天自动备份

可以通过stdout.out 来查看确认系统中是否有System.out.println()的调用

启动JVM参数

修改resin.properties添加:

根据实际环境确定:

jvm_args  : -Xmx12g -Xms12g -XX:PermSize=256m -XX:MaxPermSize=1g -verbose:gc -verbose:jni -server -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+PrintGCApplicationStoppedTime -XX:+UseParallelOldGC -Xloggc:log/gc.log -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=12346

抱歉!评论已关闭.