resin4 + JDK7环境部署记录

1. 安装jdk7与resin4

jdk7安装方式与6相同,解压并配置环境变量即可。

resin4与resin3略有区别,解压之后需要编译安装。

./configure --prefix=/opt/hermes/resin-4.0.40 --with-java-home=/opt/hermes/jdk1.7.0_67/ --enable-64bit

make

makeinstall

编译安装可避免出现以下错误:

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


环境变量配置如下:


2. 简单配置resin

resin.xml配置如下,裁剪了冗余的原配置:

 
  
 
  

 
  




  
  
  


  
     
  

   
  

  
   
       
  

  
  
  
  
  

  ${cluster_system_key}

  ${dependency_check_interval?:'2s'}

  ${home_cluster}
  ${home_server}
  ${elastic_server}
  ${elastic_dns}

  

     
        
        
           
           -server 
           
           -Djava.rmi.server.hostname=10.64.78.78 
           -Dcom.sun.management.jmxremote.port=50000 
           -Dcom.sun.management.jmxremote.ssl=false 
           -Dcom.sun.management.jmxremote.authenticate=true 
           -Dcom.sun.management.jmxremote.password.file=${resin.root}/conf/jmxremote.password 
           -Dcom.sun.management.jmxremote.access.file=${resin.root}/conf/jmxremote.access
           
           
           -XX:+UnlockExperimentalVMOptions
           -XX:+UseG1GC 
           -XX:MaxGCPauseMillis=50 
           -XX:GCPauseIntervalMillis=200 
           -XX:SurvivorRatio=6 
           -Xmx2048m 
           -Xms2048m 
           -Xss1m 
           -XX:MaxPermSize=512m 
           -Xloggc:${resin.root}/log/jdk_gc.log
           
         
        
        
           
           

             
            
              1h
             
            
               
              
              ${form_parameter_max?:100} 
            
             
               ${form_parameter_max?:100} 
               
             
           
   



修改 resin.properties

web_admin_enable : false #生产机不需要web管理界面

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

resin_doc : false #生产机不需要resin doc

dev_mode:false #生产机开发者模式

在resin.properties添加:

 form_parameter_max:100 #hash dos protection

修改cluster-default.xml

注释:

port_thread_max:  每个端口最多可以有的活跃线程数,避免系统负载压力过大。这些参数目前不需要。

以上参考:http://www.linuxidc.com/Linux/2012-04/58192.htm


3.配置多个独立端口的应用

resin4支持配置多个独立端口的应用。在resin.xml中一个cluster就代表一个端口应用,每个应用占用一个HTTP端口以及一个Server监控端口,可以独立启动停止。

假设有两个应用,我们事先分配好端口分别是:
Web1:8081(http),6801(监控)
Web2:8082(http),6802(监控)
下面是详细的配置:

[html] view plaincopy
  1. <resin xmlns=http://caucho.com/ns/resin  
  2.        xmlns:resin=http://caucho.com/ns/resin/core>  
  3.   <log name="" level="info" path="stdout:"/>  
  4.   <cluster id="web1">  
  5.     <server-default>  
  6.       <jvm-arg>-Xmx1024mjvm-arg>  
  7.       <jvm-arg>-Xss1mjvm-arg>  
  8.       <jvm-arg>-serverjvm-arg>  
  9.     server-default>     
  10.     <resin:import path="${resin.home}/conf/app-default.xml"/>  
  11.     <server id="web1" port="6801">  
  12.       <http id="" port="8081"/>  
  13.     server>  
  14.     <host id="" root-directory=".">  
  15.       <web-app id="/" root-directory="D:/WORKDIR/web1" redeploy-mode="manual"/>  
  16.     host>  
  17.   cluster>  
  18.    
  19.   <cluster id="web2">  
  20.     <server-default>  
  21.       <jvm-arg>-Xmx1024mjvm-arg>  
  22.       <jvm-arg>-Xss1mjvm-arg>  
  23.       <jvm-arg>-serverjvm-arg>  
  24.     server-default>     
  25.     <resin:import path="${resin.home}/conf/app-default.xml"/>  
  26.     <server id="web2" port="6802">  
  27.       <http id="" port="8082"/>  
  28.     server>  
  29.     <host id="" root-directory=".">  
  30.       <web-app id="/" root-directory="D:/WORKDIR/web2/webapp" redeploy-mode="manual"/>  
  31.     host>  
  32.   cluster>  
  33. resin> 

上面的配置中,我们为每个应用分配一个唯一的 server id,分别是 web1 和 web2
要启动这两个应用,命令是
./resin.sh start -server web1
./resin.sh start -server web2
停止以及重启应用的方式也是一样。



4. 配置jmx远程监控

jmxremote.access和jmxremote.password文件可以在JDK的jre\lib\management目录下找到。copy到{resin_home}/conf/下。
jmxremote.access包含了登录用户的权限控制信息,jmxremote.password包含了用户名和登录密码信息,配置非常简单。

jmxremote.password文件需要进行文件系统的访问权限设置,设置为只有owner可读,否则会抛出错误信息:
错误: 必须限制口令文件读取访问: XXX
解决办法是修改jmx权限文件的访问权限:chmod 644 jmxremote.access jmxremote.password


完成一系列的配置之后,可以在jconsole或visualVM中远程监控服务的运行。在环境刚搭建时,启用监控可了解应用在新环境的运行状况。

resin4 + JDK7环境部署记录_第1张图片

你可能感兴趣的:(Linux,java)