Resin是CAUCHO公司的产品,是一个非常流行的application server,对servlet和JSP提供了良好的支持,性能也比较优良,resin自身采用JAVA语言开发。

版本区别:

resin 普通版本和pro版本主要区别是 pro支持缓存和负载均衡,并且pro版本收费的。pro因为有强大的cache功能,独立作为web服务器处理静态页面性能都可以和apache有一比。但普通版本独立作为web服务器性能就要差一些。当然可以使用apache+resin的方案借助apache的缓存功能提高性能。 但负载均衡就是普通版不能比的了。

一,安装

配置jdk环境变量:

export JAVA_HOME=/opt/soft/jdk1.7.0_55/

export JRE_HOME=/opt/soft/jdk1.7.0_55/jre

export PATH=$PATH:/opt/soft/jdk1.7.0_55/bin

export CLASSPATH=$JAVA_HOME/lib:$JRE_HOME/lib

resin安装:

# ./configure --prefix=/opt/apps/resin-4.0.40 --enable-64bit

# make;make install

二,resin4的基本配置

1,Resin4可以给不同的Web app分配不同的端口,也就是说Resin4可以同时开启多个端口的服务。Resin4配置文件发生了较大变化,分为:

- app-default.xml  web应用配置

- cluster-default.xml  专业版使用的集群配置

- resin.xml             resin主配置文件

- resin.properties  会被修改的变量

- health.xml           专业版使用的健康检查配置

2,删除/注释resin社区版本不支持的功能

1).health

修改resin.xml, 删除:

-

2).LoadBalance

修改resin.xml, 删除:

-

-

-

3).仅需要保留自己使用的cluster,

其它的可以删除

修改resin.xml, 删除cluster id="web", cluster id="memcached"

3,resin自定义端口

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

WatchDog 的端口,默认6600

Server 监控端口,默认6800

应用的HTTP端口,默认8080

以下操作通过修改resin.xml配置文件完成:

1).修改Server端口6800(会覆盖resin.properties中app_servers的配置)

把改成:

2).修改WatchDog端口6600

6601

3).修改应用端口8080(不会覆盖resin.properties中app.http的配置,会新监听一个端口8081)

6601

4,禁用admin/doc/deploy

1).修改resin.properties,配置如下:

web_admin_enable : false

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

resin_doc : false

dev_mode:false

2).修改resin.xml,删除resin doc相关配置

三,自定义配置

1,默认在resin.xml中的配置,默认host app根目录配置如下:

2,虚拟目录配置:

在webapps/lee目录中创建index.html文件,需要通过http://domainname/index/index.html访问到该文件:

3,基于多host的配置:

例如通过域名http://www.test1.com访问webapps/test1目录内容,而http://www.test2.com访问webapps/test2中内容:

4.防止避免hash collision dos***

在web-app中加指令form-parameter-max 用来限制每次post submit的参数个数

100

5.自定义web app日志

设置log切割时间为1天:

100

archive-format="access-%Y%m%d.log.gz"

format='%h %l %u %t "%r" %s %b "%{Referer}i" "%{User-Agent}i"'

rollover-size="10mb"

rollover-period="1D"/>

也可以把access-log设置成每小时切割一次,配置如下:

6,resin多端口的配置

Resin4可以同时开启多个端口的服务,在resin.xml中一个cluster就代表一个端口应用,故想要多端口只要在resin域中配置多个cluster就行了,核心配置如下:(以开启2个端口为例)

启动命令:

# bash resin.sh start -server qd-0

# bash resin.sh start -server app-0

注意事项:

1),http port和server port必须不同。可以在resin.xml或者resin.properties中配置,resin.xml的配置如上案例。

2),当使用命令# bash resin.sh start -server app或者# bash resin.sh start启动时,会出现以下报错:

Resin/4.0.40: server 'qd' does not match a unique or

in /opt/apps/resin-4.0.40/conf/resin.xml

server ids: app0, qd0.

启动时-server的参数必须是id-prefix的值,当id-prefix和cluster的id值相同时,-server的参数默认是app0(如果cluster id是app).

7,jvm启动参数优化

在cluster域中加入类似如下:

-Xmx4096m

-Xms4096m

-Xss128k

-XX:MaxPermSize=256m

-XX:NewSize=768m

-XX:SurvivorRatio=4

-XX:+UseParNewGC

-XX:+UseConcMarkSweepGC

-XX:CMSFullGCsBeforeCompaction=10

-XX:-CMSParallelRemarkEnabled

-XX:CMSInitiatingOccupancyFraction=75

-XX:+UseCMSCompactAtFullCollection

1M

1024

65s

128

15s

解释:

-Xmx:jvm最大可用内存

-Xms:jvm启动时,初始内存大小。此值可以设置与-Xmx相同,以避免每次垃圾回收完成后JVM重新分配内存。

-Xss:设置每个线程的堆栈大小。在相同物理内存下,减小这个值能生成更多的线程。但是操作系统对一个进程内的线程数还是有限制的

-XX:PermSize:JVM初始分配的非堆内存

-XX:MaxPermSize:非堆内存的最大值。(PermSize和MaxPermSize指明虚拟机为java永久生成对象(Permanate generation)如,class对象、方法对象这些可反射(reflective)对象分配内存限制,这些内存不包括在Heap(堆内存)区之中。)

-XX:NewSize:设置新生代内存大小

-XX:SurvivorRatio:年轻代中Eden区与两个Survivor区的比值。注意Survivor区有两个。如:3,表示Eden:Survivor=3:2,一个Survivor区占整个年轻代的1/5

-XX:+UseParNewGC:设置年轻代为并行收集。

-XX:+UseConcMarkSweepGC:设置年老代为并发收集。

-XX:CMSFullGCsBeforeCompaction:由于并发收集器不对内存空间进行压缩、整理,所以运行一段时间以后会产生“碎片”,使得运行效率降低。此值设置运行多少次GC以后对内存空间进行压缩、整理。

-XX:-CMSParallelRemarkEnabled:降低标记停顿

-XX:CMSInitiatingOccupancyFraction=75:CMS堆上, 使用70%后开始CMS收集

-XX:+UseCMSCompactAtFullCollection:打开对年老代的压缩。可能会影响性能,但是可以消除碎片

memory-free-min:强制resin重启时的最小空闲内存

thread-max:resin最大线程数

socket-timeout:套接字最大等待时间

keepalive-max:keepalived连接的最大数量,对网络性能有影响

keepalive-timeout:keepalived的最大保持时间

resin 系统日志_resin学习随笔相关推荐

  1. Ibatis学习随笔

    Ibatis学习随笔 < person >       < id > 1 </ id >     < firstName > Clinton </ ...

  2. Delphi面向对象学习随笔六:接口

    Delphi面向对象学习随笔六:接口   Delphi面向对象学习随笔六:接口 作者:巴哈姆特 (转载请注明出处并保持完整) 在对象化中,类的继承是一个非常强大的机制:而更加强大的继承机制应该是来自从 ...

  3. python rowcount_PyQt(Python+Qt)学习随笔:QTableWidget的currentItem、rowCount、columnCount等部件状态属性访问方法...

    老猿将QTableWidget表格部件中反映部件当前情况的一些方法归类为部件状态访问方法,包括部件的行数.列数.当前项.当前行.当前列等属性访问方法. 1.行数rowCount QTableWidge ...

  4. C#程序集Assembly学习随笔(第一版)_AX

    ①什么是程序集? 可以把程序集简单理解为你的.NET项目在编译后生成的*.exe或*.dll文件. 嗯,这个确实简单了些,但我是这么理解的.详细: http://blog.csdn.net/sws83 ...

  5. Delphi面向对象学习随笔一:类与对象的关系

    Delphi面向对象学习随笔一:类与对象的关系 作者:巴哈姆特 http://www.cnpack.org (转载请注明出处并保持完整) 工作几年了,总想做点总结,于是有了这篇东西,叫随笔吧呵     ...

  6. 64位BASM学习随笔(一)

     64位BASM学习随笔(一) Delphi的BASM一直是我最喜爱的内嵌汇编语言,同C/C++的内联汇编相比,它更方便,更具灵活性,由于C/C++的内联汇编仅仅能是或插入式的汇编代码,函数花括号 ...

  7. 2021.3.14学习随笔

    学习随笔 摆仙果 题目具体链接 给定有规律的字符序列,对比输入的字符序列,对比相同的长度. 题目的不同之处:该题是字符串头部对齐.还有不对齐的,就类似与字符串匹配 #include<iostre ...

  8. Vue学习随笔+商城项目【上】

    更新日期:2021-02-10 晚 [新年快乐] 附:Vue学习随笔+商城项目[下] 目录(部分) (一)ES6补充 1.1块级作用域 1.1.1 什么是变量作用域 1.1.2 没有块级作用域造成的问 ...

  9. JAVA面试八股文宝典(黑马学习随笔)-- 基础篇

    学习随笔简介 跟随着黑马满老师的<Java八股文面试题视频教程,Java面试八股文宝典>学习,视频教程地址:Java八股文面试题视频教程,Java面试八股文宝典(含阿里.腾迅大厂java面 ...

  10. butter滤波器是iir吗_学习随笔之IIR滤波器与FIR滤波器

    学习随笔之IIR滤波器与FIR滤波器 IIR滤波器(Infinite Impulse Response Digital Filter无限冲击响应数字滤波器)与FIR滤波器(Finite Impulse ...

最新文章

  1. 中科院、百度研究院等联合提出UGAN,生成图片难以溯源
  2. 曾经百度大佬吹过的牛实现了,看完这个,带你搞定AI前沿技术
  3. 如何比较传统WAN与SD-WAN?有什么差别? Vecloud微云
  4. 前端学习(2510):文件目录
  5. Mybatis MySQL批量更新
  6. 马云下死命令留人?阿里辟谣:不会高薪聘请黑掉阿里网站的人
  7. mysql保存23:59:59时,自动加一秒
  8. 面试稳了!网易资深工程师详解运维面经!
  9. nginx与IIS服务器搭建集群实现负载均衡(三)
  10. layout里添加xml文件没有在R.java里生成ID
  11. POJ 1579 Function Run Fun
  12. [20180625]10g下查询条件rownum = 0.txt
  13. Mesos和Marathon下容器无法正常部署可能的原因
  14. LQR控制算法的浅析
  15. CSS Sprite(CSS雪碧图)
  16. 微信小程序画布实现个人签名,并保存为图片
  17. WP7 SDK模拟器对应PC键盘的功能键
  18. SQlite3基本用法,使用sublime编辑器
  19. Android JetPack架构篇,一个实战项目带你学懂JetPack
  20. CUDA下的GPU编程入门--第一个CUDA程序

热门文章

  1. 关于Android的ImageView置顶
  2. 推荐一款使用快捷的免费文字识别OCR(图片转文字)在线服务
  3. 会员制营销的起源和基本原理
  4. 基于html的火柴人羽毛球网页游戏设计
  5. 如何从网页下载并播放ts格式的视频
  6. 绘制谢尔宾斯基三角形
  7. 原来大家最拼命的时候是这样子的
  8. 腾讯的企业级分布式 HTAP 数据库管理系统 TBase 正式开源
  9. 【UDEV】 网卡MAC地址自动设置
  10. 学习笔记——矩阵键盘的扫描原理与基本应用