resin服务器
?
resin服務(wù)器
一、安裝resin
http://www.caucho.com/download/
Resin是CAUCHO公司(http://www.caucho.com/)的產(chǎn)品,是一個(gè)非常流行的支持servlets 和jsp的引擎,速度
非常快。Resin本身包含了一個(gè)支持HTTP/1.1的WEB服務(wù)器。雖然它可以顯示動(dòng)態(tài)內(nèi)容,但是它顯示靜態(tài)內(nèi)容的
能力也非常強(qiáng),速度直逼APACHE SERVER。許多站點(diǎn)都是使用該WEB服務(wù)器構(gòu)建的。
Resin也可以和許多其他的WEB服務(wù)器一起工作,比如Apache server和IIS等。Resin支持Servlets 2.3標(biāo)準(zhǔn)和
JSP 1.2標(biāo)準(zhǔn)。熟悉ASP和PHP的用戶可以發(fā)現(xiàn)用Resin來(lái)進(jìn)行JSP編程是件很容易的事情。
?
1、安裝JDK
下載 jdk-7-linux-i586.rpm
http://java.sun.com/javase/downloads/index.jsp
# rpm –ivh jdk-7-linux-i586.rpm???
??
# vi ~/.bash_profile??
JAVA_HOME=/usr/java/jdk1.7.0??
CLASSPATH=$JAVA_HOME/lib:$JAVA_HOME/jre/lib??
PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin??
export PATH CLASSPATH JAVA_HOME?
使環(huán)境變量立刻生效
# source ~/.bash_profile
# source /etc/profile
# java -version (jdk的版本為jdk1.4.2則表示jdk已成功安裝)。?
2、安裝resin
# tar -zxvf resin-4.0.23.tar.gz -C /usr/src
# cd /usr/src/resin-4.0.23
# ./configure --prefix=/usr/local/resin --with-java-home=/usr/java/jdk1.7.0
# make
# make install
添加執(zhí)行用戶resin
# groupadd resin
# useradd -g resin -s /sbin/nologin -M resin
# vi /usr/local/resin/conf/resin.xml
修改如下兩行內(nèi)容:
<user-name>resin</user-name>
<group-name>resin</group-name>
啟動(dòng)resin
# /usr/local/www/resin/bin/resin.sh? start
用http://hosthost:8080即可訪問(wèn)到resin的默認(rèn)頁(yè)面
二、添加resin到系統(tǒng)服務(wù)
# cp /usr/src/resin-4.0.7/init.d/resin /etc/init.d/resin
# chmod a+x /etc/init.d/resin
# vi /etc/init.d/resin
把所有的log_daemon_msg和log_end_msg改為echo
然后就可以用service resin start|stop來(lái)啟動(dòng)和停止resin了
虛擬主機(jī):
vi /usr/local/resin/conf/resin.xml
<host id='www.benet.com'>?
<web-app id='/' document-directory="/usr/local/resin/www"/>?
</host>
注:resin 3.版本為resin.conf? resin 4.版本為resin.xml
三、resin管理員控制臺(tái)
注:修改resin配置文件之前要先停止resin
使用http://hostip:8080?打開(kāi)resin的默認(rèn)頁(yè)面
點(diǎn)擊Administration is available at /resin-admin處的resin-admin
先注冊(cè)一個(gè)管理員、密碼,usr/local/resin/conf/ 下會(huì)生成 admin-users.xml.generated文件
# cd /usr/local/www/resin/conf/
# service resin stop
# mv admin-users.xml.generated? admin-users.xml
# service resin start
?
然后就可以使用剛才創(chuàng)建的管理員登陸resin管理員控制臺(tái)了
?
四、resin優(yōu)化
1、優(yōu)化JVM參數(shù)
修改resin.conf文件,在<server-default>節(jié)點(diǎn)下增加配置JVM參數(shù)的子節(jié)點(diǎn)<jvm-arg>。 -Xmx和-Xms的值需要
根據(jù)服務(wù)器內(nèi)存的大小調(diào)整,對(duì)于多數(shù)應(yīng)用來(lái)說(shuō),-Xmx配置成1024M,完全能滿足使用要求。通常將-Xms與-Xmx
選項(xiàng)的值設(shè)置為相同,-Xmn的值為-Xmx的1/4。
??? <server-default>
??? <jvm-arg>-Xms1024m</jvm-arg>
??? <jvm-arg>-Xmx1024m</jvm-arg>
??? <jvm-arg>-Xmn256m</jvm-arg>
??? <jvm-arg>-XXermSize=128m</jvm-arg>
??? <jvm-arg>-XX:MaxPermSize=256m</jvm-arg>
??? <jvm-arg>-Dcom.sun.management.jmxremote</jvm-arg>
??? </server-default>
?
2、調(diào)整圖片Cache圖片文件的時(shí)間
??? <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、調(diào)整線程池的最大線程數(shù)
??? <server-default>
??? <thread-max>1024</thread-max>
??? </server-default>
?
4、日志輸出
如果不配置stdout-log,那么resin會(huì)把System.out輸出的信息,自動(dòng)輸出到${resinHome}/log/jvm-
default.log文件中,且這個(gè)文件不會(huì)按天存儲(chǔ),隨著時(shí)間推移,這個(gè)文件會(huì)越來(lái)越大,最后影響系統(tǒng)效率。
??? <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 過(guò)多的處理
thread-max指定了最大連接數(shù),socket-timeout是socket超時(shí)時(shí)間
keepalive-max指定了長(zhǎng)連接的數(shù)量,這是可以重復(fù)使用的連接,netstat -an時(shí)系統(tǒng)可以看到響應(yīng)數(shù)量的
ESTABLISHED狀態(tài)
設(shè)定keepalive-max和把keepalive-timeout調(diào)小可以減少TIME_WAIT的數(shù)量。
?
在<server-default>節(jié)點(diǎn)下增加配置
????? <thread-max>10000</thread-max>
????? <socket-timeout>30s</socket-timeout>
????? <keepalive-max>512</keepalive-max>
????? <keepalive-timeout>60s</keepalive-timeout>
?
6、調(diào)整檢查程序更新時(shí)間間隔的配置
Resin 會(huì)在一個(gè)指定的周期內(nèi),檢查一下web-app目錄下的classes、jsp、jar以及配置文件是否更新,并且根
據(jù)檢查的情況,確定是否重新裝載這些文件。對(duì)于生產(chǎn)系統(tǒng)來(lái)說(shuō),不會(huì)經(jīng)常更新文件,時(shí)間間隔應(yīng)該加長(zhǎng),提
高系統(tǒng)的效率。文本框中配置的時(shí)間間隔為20分鐘。
?<dependency-check-interval>1200s</dependency-check-interval>
本文轉(zhuǎn)自linux博客51CTO博客,原文鏈接http://blog.51cto.com/yangzhiming/834916如需轉(zhuǎn)載請(qǐng)自行聯(lián)系原作者
yangzhimingg
總結(jié)
- 上一篇: 掘金新品线上发布
- 下一篇: 怎样才能“负载”均衡