一、安装resin
1、安装JDK
# chmod a+x jdk-6u18-linux-i586-rpm.bin
# ./jdk-6u7-linux-i586-rpm.bin
# ln -s /usr/java/jdk1.6.0_18 /usr/local/java
设置环境变量
# vi /etc/profile
末尾增加如下内容
JAVA_HOME=/usr/local/java
CLASSPATH=/usr/local/java/lib/dt.jar:/usr/local/java/lib/tools.jar
PATH=/usr/local/java/bin:$PATH
export PATH JAVA_HOME CLASSPATH
环境变量立即生效
# source /etc/profile
查看java版本,如果是1.6的,就是说明安装成功了。
# java –version
2、安装resin
# tar -zxvf resin-4.0.7.tar.gz
# cd resin-4.0.7
# ./configure --prefix=/usr/local/www/resin --with-java-home=/usr/local/java
# make # make install
添加执行用户resin
# groupadd resin
# useradd -g resin -s /sbin/nologin -M resin
# chown -R resin.resin /usr/local/www/resin
# vi /usr/local/www/resin/conf/resin.xml
修改如下两行内容:
<user-name>resin</user-name>
<group-name>resin</group-name>
启动resin
# /usr/local/www/resin/bin/resin.sh start
用http://hostip:8080即可访问到resin的默认页面
二、添加resin到系统服务
将make install生成的$RESIN_HOME/init.d/resin复制到/etc/init.d/resin
# cp init.d/resin /etc/init.d/resin
# chmod a+x /etc/init.d/resin
# vi /etc/init.d/resin
添加如下两行
# chkconfig: 345 85 15
# description: Resin is a Java Web server.
把type log_daemon_msg 1> /dev/null
修改为type echo 1> /dev/null
修改
case "$1" in
start)
....
stop)
.....
中的log_daemon_msg和log_end_msg为echo
然后就可以用service resin start|stop来启动和停止resin了
三、resin管理员控制台
注:修改resin配置文件之前要先停止resin
使用http://hostip:8080 打开resin的默认页面
点击Administration is available here处的here
创建一个管理员
# cd /usr/local/www/resin/conf/
# service resin stop
# mv admin-users.xml.generated admin-users.xml
# service resin start
然后就可以使用刚才创建的管理员登陆resin管理员控制台了
四、resin优化
1、优化JVM参数
修改resin.conf文件,在<server-default>节点下增加配置JVM参数的子节点<jvm-arg>。 -Xmx和-Xms的值需要根据服务器内存的大小调整,对于多数应用来说,-Xmx配置成1024M,完全能满足使用要求。通常将-Xms与-Xmx选项的值设置为相同,-Xmn的值为-Xmx的1/4。
<server-default>
<jvm-arg>-Xms1024m</jvm-arg>
<jvm-arg>-Xmx1024m</jvm-arg>
<jvm-arg>-Xmn256m</jvm-arg>
<jvm-arg>-XX:PermSize=128m</jvm-arg>
<jvm-arg>-XX:MaxPermSize=256m</jvm-arg>
<jvm-arg>-Dcom.sun.management.jmxremote</jvm-arg>
</server-default>
2、调整图片Cache图片文件的时间
<web-app-default>
<cache-mapping url-pattern="*.gif" expires="6000s"/>
<cache-mapping url-pattern="*.jpg" expires="6000s"/>
<cache-mapping url-pattern="*.png" expires="6000s"/>
</web-app-default>
3、调整线程池的最大线程数
<server-default>
<thread-max>1024</thread-max>
</server-default>
4、日志输出
如果不配置stdout-log,那么resin会把System.out输出的信息,自动输出到${resinHome}/log/jvm-default.log文件中,且这个文件不会按天存储,随着时间推移,这个文件会越来越大,最后影响系统效率。
<host>
<stdout-log path="${resinHome}/log/stdout.log" timestamp="[%Y-%m-%d %H:%M:%S.%s]" rollover-period="1D"/>
<stderr-log path="${resinHome}/log/stderr.log" timestamp="[%Y-%m-%d %H:%M:%S.%s]" rollover-period="1D"/>
</host>
5、resin-server TIME_WAIT 过多的处理
thread-max指定了最大连接数,socket-timeout是socket超时时间
keepalive-max指定了长连接的数量,这是可以重复使用的连接,netstat -an时系统可以看到响应数量的ESTABLISHED状态
设定keepalive-max和把keepalive-timeout调小可以减少TIME_WAIT的数量。
在<server-default>节点下增加配置
<thread-max>10000</thread-max>
<socket-timeout>30s</socket-timeout>
<keepalive-max>512</keepalive-max>
<keepalive-timeout>60s</keepalive-timeout>
6、调整检查程序更新时间间隔的配置
Resin 会在一个指定的周期内,检查一下web-app目录下的classes、jsp、jar以及配置文件是否更新,并且根据检查的情况,确定是否重新装载这些文件。对于生产系统来说,不会经常更新文件,时间间隔应该加长,提高系统的效率。文本框中配置的时间间隔为20分钟。
<dependency-check-interval>1200s</dependency-check-interval>
分享到:
相关推荐
不同于HotSpot把Java字节码编译成本地码,它预先编译成类。JRockit还提供了更细致的功能用以观察JVM的运行状态,主要是独立的GUI控制台(只能适用于使用Jrockit才能使用jrockit81sp1_141_03自带的console监控一些cpu...
标题中的“nginx于resin集成(nginx安装)”是指在Web服务器环境中,将Nginx与Resin应用服务器结合使用,以实现更高效、稳定的服务。Nginx是一款高性能的HTTP和反向代理服务器,而Resin是一款Java应用服务器,主要...
如果遇到`Unsupported major.minor version`错误,通常意味着Resin使用的JVM版本与编译类文件时使用的JDK版本不一致。解决方法是更新JVM版本或重新编译应用代码,以确保二者版本一致。 以上仅为Resin运维过程中遇到...
目前,Tomcat的最新版本是9.0,而其他常见的Java容器有Resin、WebLogic等。 1.1.1 JDK——Tomcat的好帮手 JDK(Java Development Kit)是Java编程语言的核心组成部分,它包含了运行Java程序所需的JVM(Java Virtual...
- **安装过程**:编译安装Nginx,通常包括配置编译选项、编译、安装等步骤。 - **验证**:通过启动Nginx服务并访问默认页面测试是否成功安装。 - **参数设置与管理**:熟悉Nginx提供的各种参数,以便进行高级配置。...
Resin具备动态编译Servlet和JSP的能力,可以在运行时自动将源代码编译为字节码,从而提高应用程序的启动速度和执行效率。 #### 八、性能调优 ##### 8.1 服务器缓存 Resin提供了强大的缓存机制,包括HTTP缓存、文件...
7. **编译安装**:所有软件均采用编译安装的方式。 8. **目标读者**:面向Linux初学者及具有一定经验的用户。 9. **配置目标**:适合企业内部开发服务器的配置。 10. **功能清晰**:专注于DNS、FTP、MySQL、Apache、...
- **编译安装**:某些软件可能需要手动编译安装,涉及源码下载、编译参数设置、安装路径选择等。 - **配置文件**:修改配置文件以适应特定需求,如`httpd.conf`、`my.cnf`等。 - **启动与服务化**:将服务添加到...
- **编译安装**: 所有软件均通过编译安装,确保系统的稳定性和可定制性。 - **目标受众**: 适用于Linux初学者和中高级用户。 - **配置目标**: 适合企业内部开发服务器,而非Internet服务器。 #### 二、文档内容...
14. **性能调优和安全**:了解性能监控、调优策略,以及JAVA安全模型,包括加密、认证和授权。 15. **持续集成与自动化测试**:掌握Maven、Gradle等构建工具,以及JUnit、TestNG等测试框架,实现持续集成和自动化...
JDK(Java Development Kit)作为Java编程语言的核心组件,不仅提供了必要的编译、调试及文档工具,还配备了一系列用于监控和诊断应用程序运行状态的工具。本文将详细介绍这些工具的功能与应用场景,并通过具体的...
7. **Web服务器管理**:熟悉Tomcat、Resin、JRun等Web服务器的使用、配置和管理,以及如何部署和维护Web应用程序。 8. **分布式计算**:学习RMI(远程方法调用)和RMI/IIOP(Internet Inter-ORB Protocol),理解...
5. 反编译及汇编基础:有能力反编译Java类文件,并理解其底层的汇编指令。 6. 客户端编程:掌握WEB小程序(applet)、GUI设计(SWING、AWT、SWT)及JavaBean组件模式。 7. Java数据库技术:学习JDBC API以及至少一种...