apache+resin+Unix间歇性发作503,跪求高手帮忙解决,急急急!!!

roseey 2009-07-30 06:22:46
服务器是Unix下apache2.2.10+resin3.1.8的配置,apache和resin均正常启动,web程序正常运行,但偶尔浏览器向服务器发送请求发生503错误,该错误常发生在浏览器登陆后闲置一段时间后,但无规律,重启也不能解决。此错误已困扰已久但毫无头绪,非常期待高手帮忙解决,也欢迎大家一起讨论。apache和resin配置文件如下:
apache的httpd.conf:
ServerRoot "/data/apache"

Listen 80

LoadModule authn_file_module modules/mod_authn_file.so
LoadModule authn_dbm_module modules/mod_authn_dbm.so
LoadModule authn_anon_module modules/mod_authn_anon.so
LoadModule authn_dbd_module modules/mod_authn_dbd.so
LoadModule authn_default_module modules/mod_authn_default.so
LoadModule authz_host_module modules/mod_authz_host.so
LoadModule authz_groupfile_module modules/mod_authz_groupfile.so
LoadModule authz_user_module modules/mod_authz_user.so
LoadModule authz_dbm_module modules/mod_authz_dbm.so
LoadModule authz_owner_module modules/mod_authz_owner.so
LoadModule authz_default_module modules/mod_authz_default.so
LoadModule auth_basic_module modules/mod_auth_basic.so
LoadModule auth_digest_module modules/mod_auth_digest.so
LoadModule dbd_module modules/mod_dbd.so
LoadModule dumpio_module modules/mod_dumpio.so
LoadModule ext_filter_module modules/mod_ext_filter.so
LoadModule include_module modules/mod_include.so
LoadModule filter_module modules/mod_filter.so
LoadModule substitute_module modules/mod_substitute.so
LoadModule deflate_module modules/mod_deflate.so
LoadModule log_config_module modules/mod_log_config.so
LoadModule log_forensic_module modules/mod_log_forensic.so
LoadModule logio_module modules/mod_logio.so
LoadModule env_module modules/mod_env.so
LoadModule mime_magic_module modules/mod_mime_magic.so
LoadModule cern_meta_module modules/mod_cern_meta.so
LoadModule expires_module modules/mod_expires.so
LoadModule headers_module modules/mod_headers.so
LoadModule ident_module modules/mod_ident.so
LoadModule usertrack_module modules/mod_usertrack.so
LoadModule unique_id_module modules/mod_unique_id.so
LoadModule setenvif_module modules/mod_setenvif.so
LoadModule version_module modules/mod_version.so
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_connect_module modules/mod_proxy_connect.so
LoadModule proxy_ftp_module modules/mod_proxy_ftp.so
LoadModule proxy_http_module modules/mod_proxy_http.so
LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
LoadModule mime_module modules/mod_mime.so
LoadModule dav_module modules/mod_dav.so
LoadModule status_module modules/mod_status.so
LoadModule autoindex_module modules/mod_autoindex.so
LoadModule asis_module modules/mod_asis.so
LoadModule info_module modules/mod_info.so
LoadModule cgid_module modules/mod_cgid.so
LoadModule dav_fs_module modules/mod_dav_fs.so
LoadModule vhost_alias_module modules/mod_vhost_alias.so
LoadModule negotiation_module modules/mod_negotiation.so
LoadModule dir_module modules/mod_dir.so
LoadModule imagemap_module modules/mod_imagemap.so
LoadModule actions_module modules/mod_actions.so
LoadModule speling_module modules/mod_speling.so
LoadModule userdir_module modules/mod_userdir.so
LoadModule alias_module modules/mod_alias.so
LoadModule rewrite_module modules/mod_rewrite.so

<IfModule !mpm_netware_module>
<IfModule !mpm_winnt_module>

User nobody
Group nobody

</IfModule>
</IfModule>

ServerAdmin admin@gmail.com

ServerName 127.0.0.1

DocumentRoot "/data/webapp"

<Directory />
Options FollowSymLinks
</Directory>

<Directory "/data/apache/htdocs">
Options Indexes FollowSymLinks
AllowOverride None
</Directory>

<IfModule dir_module>
DirectoryIndex index.html index.jsp
</IfModule>

<FilesMatch "^\.ht">
Order allow,deny
Deny from all
Satisfy All
</FilesMatch>

ErrorLog "logs/error_log"
LogLevel warn

<IfModule log_config_module>
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
LogFormat "%h %l %u %t \"%r\" %>s %b" common
<IfModule logio_module>
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %I %O" combinedio
</IfModule>
</IfModule>

<IfModule alias_module>
ScriptAlias /cgi-bin/ "/data/apache/cgi-bin/"
</IfModule>

DefaultType text/plain

<IfModule mime_module>
TypesConfig conf/mime.types
AddType application/x-compress .Z
AddType application/x-gzip .gz .tgz
</IfModule>

<IfModule ssl_module>
SSLRandomSeed startup builtin
SSLRandomSeed connect builtin
</IfModule>

UseCanonicalName On
DefaultType text/plain
HostnameLookups Off
ErrorDocument 503 /shutdown.html
ServerSignature On
ErrorLog /data/apache/logs/error_log
LogLevel crit
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
LogFormat "%h %l %u %t \"%r\" %>s %b" common
LogFormat "%{Referer}i -> %U" referer
LogFormat "%{User-agent}i" agent

<IfModule mod_mime.c>
TypesConfig /data/apache/conf/mime.types
</IfModule>

<IfModule mod_mime_magic.c>
MIMEMagicFile /data/apache/conf/magic
</IfModule>

<IfModule mod_autoindex.c>
IndexOptions FancyIndexing
AddIconByEncoding (CMP,/icons/compressed.gif) x-compress x-gzip
AddIconByType (TXT,/icons/text.gif) text/*
AddIconByType (IMG,/icons/image2.gif) image/*
AddIconByType (SND,/icons/sound2.gif) audio/*
AddIconByType (VID,/icons/movie.gif) video/*
AddIcon /icons/binary.gif .bin .exe
AddIcon /icons/binhex.gif .hqx
AddIcon /icons/tar.gif .tar
AddIcon /icons/world2.gif .wrl .wrl.gz .vrml .vrm .iv
AddIcon /icons/compressed.gif .Z .z .tgz .gz .zip
AddIcon /icons/a.gif .ps .ai .eps
AddIcon /icons/layout.gif .html .shtml .htm .pdf
AddIcon /icons/text.gif .txt
AddIcon /icons/c.gif .c
AddIcon /icons/p.gif .pl .py
AddIcon /icons/f.gif .for
AddIcon /icons/dvi.gif .dvi
AddIcon /icons/uuencoded.gif .uu
AddIcon /icons/script.gif .conf .sh .shar .csh .ksh .tcl
AddIcon /icons/tex.gif .tex
AddIcon /icons/bomb.gif core
AddIcon /icons/back.gif ..
AddIcon /icons/hand.right.gif README
AddIcon /icons/folder.gif ^^DIRECTORY^^
AddIcon /icons/blank.gif ^^BLANKICON^^
DefaultIcon /icons/unknown.gif
ReadmeName README.html
HeaderName HEADER.html
</IfModule>

<IfModule mod_mime.c>
AddLanguage da .dk
AddLanguage nl .nl
AddLanguage en .en
AddLanguage et .ee
AddLanguage fr .fr
AddLanguage de .de
AddLanguage el .el
AddLanguage he .he
AddCharset ISO-8859-8 .iso8859-8
AddLanguage it .it
AddLanguage ja .ja
AddCharset ISO-2022-JP .jis
AddLanguage kr .kr
AddCharset ISO-2022-KR .iso-kr
AddLanguage nn .nn
AddLanguage no .no
AddLanguage pl .po
AddCharset ISO-8859-2 .iso-pl
AddLanguage pt .pt
AddLanguage pt-br .pt-br
AddLanguage ltz .lu
AddLanguage ca .ca
AddLanguage es .es
AddLanguage sv .sv
AddLanguage cs .cz .cs
AddLanguage ru .ru
AddLanguage zh-TW .zh-tw
AddCharset Big5 .Big5 .big5
AddCharset WINDOWS-1251 .cp-1251
AddCharset CP866 .cp866
AddCharset ISO-8859-5 .iso-ru
AddCharset KOI8-R .koi8-r
AddCharset UCS-2 .ucs2
AddCharset UCS-4 .ucs4
AddCharset UTF-8 .utf8
<IfModule mod_negotiation.c>
LanguagePriority en da nl et fr de el it ja kr no pl pt pt-br ru ltz ca es sv tw
</IfModule>
AddType application/x-tar .tgz
AddEncoding x-compress .Z
AddEncoding x-gzip .gz .tgz
</IfModule>

<IfModule mod_setenvif.c>
BrowserMatch "Mozilla/2" nokeepalive
BrowserMatch "MSIE 4\.0b2;" nokeepalive downgrade-1.0 force-response-1.0
BrowserMatch "RealPlayer 4\.0" force-response-1.0
BrowserMatch "Java/1\.0" force-response-1.0
BrowserMatch "JDK/1\.0" force-response-1.0
</IfModule>

LoadModule caucho_module modules/mod_caucho.so
ResinConfigServer localhost 6888
<VirtualHost *>
ServerName xxxxx.com
DocumentRoot /data/webapp
</VirtualHost>
resin.conf:
<resin xmlns="http://caucho.com/ns/resin" xmlns:resin="http://caucho.com/ns/resin/core">
<class-loader>
<tree-loader path="${resin.home}/ext-lib"/>
<tree-loader path="${resin.root}/ext-lib"/>
<tree-loader path="${resin.home}/lib"/>
<tree-loader path="${resin.root}/lib"/>
</class-loader>

<log name="" level="info" path="stdout:" timestamp="[%Y-%m-%d %H:%M:%S.%s]"/>
<logger name="com.caucho" level="info"/>
<logger name="com.caucho.java" level="config"/>
<logger name="com.caucho.loader" level="config"/>

<dependency-check-interval>2s</dependency-check-interval>
<javac compiler="internal" args="-source 1.6"/>

<cluster id="app-tier" connection-error-page='/shutdown.html' >
<root-directory>/data/resin_vhost</root-directory>
<server-default>
<jvm-arg>-Xmx2048M</jvm-arg>
<jvm-arg>-Xms2048M</jvm-arg>
<jvm-arg>-Xmn1024M</jvm-arg>
<jvm-arg>-Xss128K</jvm-arg>
<jvm-arg>-XX:+UseConcMarkSweepGC</jvm-arg>
<jvm-arg>-XX:CMSFullGCsBeforeCompaction=5</jvm-arg>
<jvm-arg>-XX:+UseCMSCompactAtFullCollection</jvm-arg>
<jvm-arg>-XX:MaxPermSize=512M</jvm-arg>
<jvm-arg>-XX:PermSize=256M</jvm-arg>
<memory-free-min>1M</memory-free-min>
<thread-max>5000</thread-max>
<socket-timeout>60s</socket-timeout>
<keepalive-max>512</keepalive-max>
<keepalive-timeout>400s</keepalive-timeout>
</server-default>

<server id="" address="127.0.0.1" port="6888" />
<resin:import path="${resin.home}/conf/app-default.xml"/>

<database>
.......................
</database>

<host id="" >
<web-app id="/" root-directory="/data/webapp"/>
</host>

</cluster>
</resin>
...全文
195 点赞 收藏 10
写回复
10 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
roseey 2009-07-31
[Quote=引用 9 楼 xblue3 的回复:]
应该是resin配置的问题哦.
[/Quote]

但是把apache停掉,只启动resin就是正常的,不会出现503了。
弱弱问一句,maillist是什么?是www.maillist.com吗 这个网址打不开。。。
回复
meadking 2009-07-31
[Quote=引用 7 楼 roseey 的回复:]
问题都是发生在访问jsp页面上。
[/Quote]
访问人数少,而且是jsp的页面,应该是resin配置的问题哦.
你上maillist问问,apache2.2.10+resin3.1.8
每个版本都会有不同的bug.我建议用低级的稳定版本.
回复
roseey 2009-07-31
内存溢出应该不太可能,因为机器是64位机,而且当只有一个用户访问还是会出现这个问题,不知道会不会是apache配置的问题,但看了配置文件,又觉得没有什么可修改的。期待大家多多指教!
回复
roseey 2009-07-31
该问题无论是内部测试机还是对外发布的机器都存在,内部测试机只有1、2个人访问,如果只启动resin运行是没问题的,问题都是发生在访问jsp页面上。
回复
meadking 2009-07-30
上面是引用的.

请问你的服务器对内测试,几个人访问
静态的HTML会有问题吗?

是不是你的应用程序写的有问题?
[Quote=引用楼主 roseey 的回复:]
该错误常发生在浏览器登陆后闲置一段时间后,[/Quote]
回复
meadking 2009-07-30
03:“服务不可用”错误是一个非自定义的错误,该错误表示服务器当前无法处理该请求。该服务器无法处理请求的原因有很多。
原因:
1、管理员可能关闭应用程序池以执行维护。
2、当请求到达时应用程序池队列已满。
3、应用程序池标识没有使用预定义账户:网络服务,而自己配置了标识,但是配置的这个用户不属于IIS_WPG组
4、应用程序池启用了CPU监视,并且设置了CPU利用率超过一定百分比关闭应用程序池,而开发人员写的服务端页面(.asp,.aspx)执行效率不高,会引起CPU的长时间占用,最终达到设置的百分比,从而引起应用程序池关闭
5、应用程序池的性能选项卡的请求队列限制所填的数值太小,默认为1000。
6、web.config的system.web/httpRuntime节点的appRequestQueueLimit属性设置的值太低。

分析:
出现503错误,其日志都是记录在%Systemroot%\System32\LogFiles\HTTPERR\httperr1.log中。
其中s-reason项:
1、若为AppShutdown,可能是由于CPU占用率太高导致自动关闭应用程序池。
2、若为AppOffline,可能是由于应用程序标识出错引起的。
3、若为Disabled,可能是由于管理员手工关闭应用程序池引起的。
4、若为QueueFull,可能是因为请求时应用程序池队列已满而生成该错误。
回复
1楼只是猜测
回复
内存溢出?
回复
roseey 2009-07-30
补充:后台日志均无异常
回复
roseey 2009-07-30
网上多是关于resin启动错误的原因导致503,却没有关于resin正常运行,间歇性发作503的原因,欢迎大家发表高见!
回复
相关推荐
发帖
Java EE
创建于2007-09-28

6.7w+

社区成员

J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
申请成为版主
帖子事件
创建了帖子
2009-07-30 06:22
社区公告
暂无公告