设为首页 收藏本站
查看: 1244|回复: 0

[经验分享] 转载--Resin服务器配置指南

[复制链接]

尚未签到

发表于 2017-2-20 10:57:32 | 显示全部楼层 |阅读模式
  
Resin服务器配置指南


1       修改历史





版本


修改历史


 作者


描述


工作时间(h)


V0.1


2007-6-7


张乐雷


创建文档得基本结构、基本流程


0.5


V0.1.1


2007-6-11


张乐雷


增加了对: 日志配置的详细解析。


0.5


V0.2


2007-7-4


张乐雷


增加:session-config的配置解释


0.1


V0.3


2007-8-5


张乐雷


增加:resin概念解释


0.1


V0.4


2007-8-31


张乐雷


增加:常见问题中,集成配置方法


0.1


V0.5


2007-9-10


张乐雷


增加:resin不能启动问题解决办法


0.1


V0.6


2007-9-24


张乐雷


增加:最大连接数配置方式。解决了当系统建立连接导致系统死锁的问题。


0.2



2       目的和范围

本文讲述了resin服务器配置相关的内容,包括:配置实例、日志的配置、超时配置、常见问题和解答等等。

3       Jdk和Resin安装步骤

1. 下载jdk linux版本, j2sdk-1_4_2_10-linux-i586.bin。

2. 下载resin-2.1.17.tar.gz。或更好版本

3. 直接输入:j2sdk-1_4_2_10-linux-i586.bin就可以安装成功。本身它有安装脚本。

4. 修改用户根目录下配置文件。 (1)ls -a 查看文件 (2)vi  .bash_profile   添加:export JAVA_HOME=/home/usboss/j2sdk1.4.2_10/     

 Note:配置这个文件类似于windows的配置windows的环境变量。修改了这个文件一定要重新登陆。

5. tar -zxf resin-2.1.17.tar.gz  直接的解压就可以使用。

4       文件Httpd.sh参数配置解释

1.文件位置:${resin30}/bin/httpd.sh

2.args='-J-server -Xms200m -Xmx1024m -Xloggc:./log/gc.log -XX:MaxNewSize=256m -XX:MaxPermSize=256m -Djava.awt.headless=true'

 (1)J-server -Xms200m -Xmx1024m 其中,-Xms200m 表示启动时,初时内存大小,-Xmx1024m

最大内存占用大小。

(2)-XX:MaxNewSize=256m -XX:MaxPermSize=256m 表示:内存的永久保存区域的大小

(3)-Djava.awt.headless=true 解决在linux/unix验证码图片不能显示的问题。

3. 然后,启动时展示

           java -server -Xms200m -Xmx1024m -Xloggc:./log/gc.log -XX:MaxNewSize=256m -XX:MaxPermSize=256m -Djava.awt.headless=true -Xss1m -Dresin.home=/home/channel/appsvr/resin-3.0.22 -Dserver.root=/home/channel/appsvr/resin-3.0.22 -Djava.util.logging.manager=com.caucho.log.LogManagerImpl -Djavax.management.builder.initial=com.caucho.jmx.MBeanServerBuilderImpl com.caucho.server.resin.Resin -socketwait 35303 -stdout /home/channel/appsvr/resin-3.0.22 /log/stdout.log -stderr /home/channel/appsvr/resin-3.0.22/log/stderr.l

5       查看日志的方法

1. 可以看logs目录下stdout.log的输出信息。 也可以看log目录下的。命令是:

实时信息:tail –100f 日志文件名 100代表了显示100行数据

静态历史信息:tail –100日志文件名    100代表了显示100行数据

2. 在resin/logs下的stdout.log是存放这server实时输出的信息。

3. vi命令可以看日志,可以查找等更多的功能。

4. stderr.log表示错误信息的日志。

6       常见问题和解答

6.1    解决:内存、heap、验证码显示的集成配置配置方式?

1.文件位置:${resin30}/bin/httpd.sh

2.args='-J-server -Xms200m -Xmx1024m -Xloggc:./log/gc.log -XX:MaxNewSize=256m -XX:MaxPermSize=256m -Djava.awt.headless=true'

 (1)J-server -Xms200m -Xmx1024m 其中,-Xms200m 表示启动时,初时内存大小,-Xmx1024m

最大内存占用大小。

(2)-XX:MaxNewSize=256m -XX:MaxPermSize=256m 表示:内存的永久保存区域的大小

(3)-Djava.awt.headless=true 解决在linux/unix验证码图片不能显示的问题。

3. 然后,启动时展示

           java -server -Xms200m -Xmx1024m -Xloggc:./log/gc.log -XX:MaxNewSize=256m -XX:MaxPermSize=256m -Djava.awt.headless=true -Xss1m -Dresin.home=/home/channel/appsvr/resin-3.0.22 -Dserver.root=/home/channel/appsvr/resin-3.0.22 -Djava.util.logging.manager=com.caucho.log.LogManagerImpl -Djavax.management.builder.initial=com.caucho.jmx.MBeanServerBuilderImpl com.caucho.server.resin.Resin -socketwait 35303 -stdout /home/channel/appsvr/resin-3.0.22 /log/stdout.log -stderr /home/channel/appsvr/resin-3.0.22/log/stderr.l

 

6.2    在linux/windows下,验证码图片不能正常显示?

答:修改位置:在resin3/bin/httpd.sh文件, 在args位置,增加:-Djava.awt.headless=true

6.3    对于OutOfMemoryError: PermGen space, 如何处理?

 答:PermGen space的全称是Permanent Generation space,是指内存的永久保存区域OutOfMemoryError: PermGen space从表面上看就是内存益出,解决方法也一定是加大内存。说说为什么会内存益出:这一部分用于存放Class和Meta的信息,Class在被Load的时候被放入PermGen space区域,它和和存放Instance的Heap区域不同,GC(Garbage Collection)不会在主程序运行期对PermGen space进行清理,所以如果你的APP会LOAD很多CLASS的话,就很可能出现PermGen space错误。这种错误常见在web服务器对JSP进行pre compile的时候。  


    修改位置:在resin3/bin/httpd.sh文件, 在args位置,增加:-XX:MaxNewSize=256m -XX:MaxPermSize=256m

6.4    如何对标准日志输出配置大小和天数进行配置?

详细参见:

http://caucho.com/resin-3.0/config/log.xtp#Log-Levels

 

在Resin.conf文件中查找

<log name="" path="stdout:" timestamp="[%H:%M:%S.%s] "/>

如果是标准的Resin3.0的默认配置文件,大概第9行左右。

修改为如下内容:

按日期生成日志

<log name="" level="all" path="log/stdout.log" timestamp="[%H:%M:%S.%s] "

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

     rollover-period="1W"/>

 

level日志级别:off/severe/warning/info/config/fine/finer/finest/all

path日志文件路径:log/stdout.log

archive-format归档格式:如2007-5-10.stdout.log.gz

rollover-period日志回滚方式:按天(15D)、按周(1W)、按月(1M)、按小时(1h)等。

按文件大小生成日志

<log name="" level="warning" path="log/stdout.log" timestamp="[%H:%M:%S.%s] "

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

     rollover-size="10mb"/>

rollover-size每个日志文件的大小:byte(5000)、kb(128kb)、mb(10mb)

其他参数同上。

按照USBOSS的日志输出方式,可能看文件大小比较合适,每个日志文件10M-20M就差不多了。

6.4.1            指定debug日志

A useful technique is to enable full debug logging to track down a problem:

<log name='' level='finer' path='log/debug.log'
       timestamp="[%H:%M:%S.%s]"
       rollover-period='1h' rollover-count='1'/>
 

6.4.2            日志标准





Name


API


Meaning


off


 


turn off logging


severe


log.severe("...")


a serious failure, likely to prevent normal program execution


warning


log.warning("...")


a potential problem


info


log.info("...")


informational messages


config


log.config("...")


static configuration messages, meant to assist in debugging problems associated with particular configurations


fine


log.fine("...")


tracing information


finer


log.finer("...")


fairly detailed tracing message


finest


log.finest("...")


highly detailed tracing message


all


 


all messages should be logged


 

6.5    当出现内存耗没、或日志写的太快时,如果解决?

答:用top命令来查询一下全部进程的使用情况,发现有问题的进程,kill -9 processId。

6.6    当out of memory时,出现死锁进程,如果解决?

答: 首先用ps –ef|grep java查看进程命令,看系统内存使用情况。如果是存在死锁进程,可以通过kill -9 PID,来杀死它,然后重启。如果系统内存很小,可以对$RESION_HOME/bin/httpd.sh内的参数进行调整。

6.7    当resin启动时,如何指定java的内存大小?

1.Window下内存设置: -J"-server -Xms500m -Xmx1000m”

2.Linux配置: resin3/bin/httpd.sh 中的args。

6.8    Kill了指定的java进程后,resin它又自动的重启,怎么kill那?

答: 在httpd.sh文件中,有一个自动重启的perl脚本。可以通过ps –ef|grep java,来找出谁在调用java进程,发现perl进程在调用java,使用 ps –ef|grep perl,查找出来,先kill掉perl进程。然后再kill java进程。

6.9    查看resin是否是自动重启?

答: httpd.sh –h,中一个-no-auto-restart : disable automatic server restart,默认是自动重启的,可以指定这个启动参数,使得resin不自动重启。ps –ef|grep perl,看看这个进程是否是在启动状态。是否是让应用是否重启,可以根据具体情况来设定。更多信息,可以看wrapper.pl文件,搜索keepalive或auto-restart关键字,看它的初始参数值。

6.10       Resin不能启动,报java不能发现?

答:首先,检查java是否安装和是否在用户下的.bash_profile中进行了配置。

 其次,如果安装和配置正确,再检查用户是否正确。如果用户是通过su to Change the effective user id and group id to that of USER. 例如:su –foo。这时执行shell命令:source或者. .bash_profile。

6.11       如何查看resin的命令参数解释?

答:查看命令参数httpd.sh –h, man httpd.sh,vi http.sh,

6.12       如何配置session的超时时间?

using session-config and session-timeout to control the number of sessions

<web-app id='/dir'>

 

 <session-config>

     <!-- 2 hour timeout -->

     <session-timeout>120</session-timeout>

     <session-max>4096</session-max>

 </session-config>

 

</web-app>

 

6.13       Resin正常启动,DB中有用户,报用户不存在?

答:resin.conf中,一个conf只能配置一个<jndi-name>名称,并且这个名称必须是唯一的。否则, 前面的将覆盖前面的所以导致不能登陆。

6.14       程序的建立连接数多时,系统死锁?

答:原因是resin.conf中,最大连接数配置的太少。这是可以调节到一个比较大的值。缺省为128个连接。

<max-connections> configures the maximum number of open connections allowed for Resin's database pool. Sites can use <max-connections> to throttle the number of database connections for an overloaded server. When max-connections is reached and an application calls getConnection, Resin will wait connection-wait-time or until a connection is freed before allocating a new connection.

default 128

6.15       服务器上的resin启动不了?

答:首先要查看,log/ stderr.log,看看是什么原因。例如:resin-2.1.17用root用户启动过,那么就会在logs/access.log日志,当重新启动时,当向access.log文件中写东西时,将报错,因为是不同的用户建立的这个文件,需要首先删除这个文件。

7       总结和展望

a)      简单的总结前面知识

b)      今后的提高部分

8       参考资料

1.http://caucho.com

9       术语和附录

1.Resin:The Resin® high-performance, open source application server features load balancing for increased reliability. Caucho's QuercusTM。 is a fast, 100% Java implementation of the PHP language allowing developers to use PHP flexibility for the web interface and Java for stability

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-344716-1-1.html 上篇帖子: Resin的日志一天生成一个文件的配置方法 下篇帖子: (转)Resin常见问题及解决方法
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表