很长一段时间以来,我都在装有 Parallels Plesk 面板的机器上运行 3 个 Java Web 应用程序。直到昨天一切都很顺利。没有任何原因,我开始在所有运行 mod_jk 的应用程序上获得 500 - php 应用程序很好。
我调整了 apache 和 mod_jk 的日志级别以进行调试 - 除此以外,mod_jk 日志中没有任何可疑内容:
[Wed Jan 25 19:57:49 2012][5147:0000] [debug] map_uri_to_worker::jk_uri_worker_map.c (449): Attempting to map URI '/' from 2 maps
[Wed Jan 25 19:57:49 2012][5147:0000] [debug] map_uri_to_worker::jk_uri_worker_map.c (461): Attempting to map context URI '/*'
[Wed Jan 25 19:57:49 2012][5147:0000] [debug] map_uri_to_worker::jk_uri_worker_map.c (475): Found a wildchar match seomanagonode -> /*
[Wed Jan 25 19:57:49 2012][5147:0000] [debug] jk_handler::mod_jk.c (1839): Into handler jakarta-servlet worker=seomanagonode r->proxyreq=0
[Wed Jan 25 19:57:49 2012][5147:0000] [debug] wc_get_worker_for_name::jk_worker.c (111): did not find a worker seomanagonode
[Wed Jan 25 19:57:49 2012][5147:0000] [info] jk_handler::mod_jk.c (1993): Could not find a worker for worker name=seomanagonode
在访问日志中我发现:
195.150.128.28 - - [25/Jan/2012:08:45:58 +0100] "GET / HTTP/1.1" 500 806 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/535.1 (KHTML, like Gecko) Ubuntu/11.04 Chromium/14.0.835.202 Chrome/14.0.835.202 Safari/535.1"
我在跑步:
- Plesk 9.5.4
- Apache 2.2
- Tomcat 6.x
worker配置如下:
# seomanago.pl
worker.seomanagonode.port=8009
worker.seomanagonode.host=seomanago.pl
worker.seomanagonode.type=ajp13
worker.seomanagonode.ping_mode=A
worker.seomanagonode.socket_timeout=60
worker.seomanagonode.prepost_timeout=10000
worker.seomanagonode.connect_timeout=10000
worker.seomanagonode.connection_pool_size=200
worker.seomanagonode.connection_pool_timeout=300
worker.seomanagonode.retries=20
有什么想法吗?我讨厌 Plesk - 但这不是我的选择 - 我只需要忍受它直到我们能够转移到其他托管服务提供商。
在 Tomcat 中,我看到指示 JK 启动的行:
INFO: JK: ajp13 listening on /188.165.22.102:8009
在mod_jk.log中有关于创建worker的信息:
[Wed Jan 25 18:45:52 2012][12306:0000] [debug] build_worker_map::jk_worker.c (236): creating worker seomanagonode
[Wed Jan 25 18:45:52 2012][12306:0000] [debug] wc_create_worker::jk_worker.c (141): about to create instance seomanagonode of ajp13
[Wed Jan 25 18:45:52 2012][12306:0000] [debug] wc_create_worker::jk_worker.c (154): about to validate and init seomanagonode
[Wed Jan 25 18:45:52 2012][12306:0000] [debug] ajp_validate::jk_ajp_common.c (1806): worker seomanagonode contact is 'seomanago.pl:8009'
[Wed Jan 25 18:45:52 2012][12306:0000] [debug] ajp_init::jk_ajp_common.c (1895): setting socket keepalive to 0
[Wed Jan 25 18:45:52 2012][12306:0000] [debug] ajp_init::jk_ajp_common.c (1934): setting socket timeout to 60
[Wed Jan 25 18:45:52 2012][12306:0000] [debug] ajp_init::jk_ajp_common.c (1938): setting socket buffer size to 0
[Wed Jan 25 18:45:52 2012][12306:0000] [debug] ajp_init::jk_ajp_common.c (1942): setting connection recycle timeout to 0
[Wed Jan 25 18:45:52 2012][12306:0000] [debug] ajp_init::jk_ajp_common.c (1946): setting cache timeout to 0
[Wed Jan 25 18:45:52 2012][12306:0000] [debug] ajp_init::jk_ajp_common.c (1950): setting connect timeout to 10000
[Wed Jan 25 18:45:52 2012][12306:0000] [debug] ajp_init::jk_ajp_common.c (1954): setting reply timeout to 0
[Wed Jan 25 18:45:52 2012][12306:0000] [debug] ajp_init::jk_ajp_common.c (1958): setting prepost timeout to 10000
[Wed Jan 25 18:45:52 2012][12306:0000] [debug] ajp_init::jk_ajp_common.c (1962): setting recovery opts to 0
[Wed Jan 25 18:45:52 2012][12306:0000] [debug] ajp_init::jk_ajp_common.c (1966): setting number of retries to 20
[Wed Jan 25 18:45:52 2012][12306:0000] [debug] ajp_create_endpoint_cache::jk_ajp_common.c (1843): setting connection cache size to 200
[Wed Jan 25 18:45:52 2012][12306:0000] [debug] build_worker_map::jk_worker.c (248): removing old seomanagonode worker
有什么想法可以找到有关此类事物的更多信息吗?
答案1
这是我迄今为止见过的最奇怪的 Plesk 行为 - 而且我见过很多这样的行为 :)
尽管此机器上托管的其中一个域名有效期至 2013 年,但 Plesk 暂停了它……此后所有工作人员都停止了工作。删除负责此域名上应用程序的工作人员解决了问题……
我甚至没有尝试去找出原因...
因此,如果您要花 12 个小时解决同一个问题 - 请先检查是否有某些域名被暂停。