Ubuntu Apache2A中有什么;"绞盘",;错误?

Ubuntu Apache2A中有什么;"绞盘",;错误?,ubuntu,apache2,signals,Ubuntu,Apache2,Signals,我的服务器(Ubuntu8.04)运行Drupal6,当流量很大时,它会停止服务页面。重新启动apache2将无法工作,因此我必须重新启动服务 我在apache2 error.log中找到此消息 [注意]绞盘卡住,正在关闭 优雅地放下 我还注意到apache2的进程id在apache停止响应时大约为12000 更新 正如您所指出的,这是apache服务重新启动的通知。我和max的客户们一起玩,还活着。我设置的Max客户机太低,所以我得到了一个“服务器达到的Max客户端设置,考虑提高Max客户端设

我的服务器(Ubuntu8.04)运行Drupal6,当流量很大时,它会停止服务页面。重新启动apache2将无法工作,因此我必须重新启动服务

我在apache2 error.log中找到此消息

[注意]绞盘卡住,正在关闭 优雅地放下

我还注意到apache2的进程id在apache停止响应时大约为12000

更新

正如您所指出的,这是apache服务重新启动的通知。我和max的客户们一起玩,还活着。我设置的Max客户机太低,所以我得到了一个“服务器达到的Max客户端设置,考虑提高Max客户端设置”错误,但固定了。 关于PID,我的安装已经安装,所以在到达后,它会回收子进程。这就是PID周期性上升的原因。仍然没有弄明白为什么过了一段时间apache停止响应

同时,将尝试提高MaxRequestPerChild,使PID不会那么快达到PID max。目前的限制是32768(这是新debian和ubuntu安装的标准)

以下是日志中的更多内容:

[2009年4月24日星期五01:48:56][通知] 绞盘卡住,正在关闭 优雅地

[2009年4月24日星期五01:50:07][通知] Apache/2.2.8(Ubuntu) PHP/5.2.4-2ubuntu5.3 已配置Suhosin修补程序--正在恢复 正常操作

[2009年4月24日星期五17:13:35][错误] [客户端195.70.62.131]客户端已发送 不带主机名的HTTP/1.1请求(请参阅 RFC2616第14.23节): /w00tw00t.at.ISC.SAN.DFind:)

[2009年4月24日星期五17:36:00][错误] [客户端212.188.33.4]客户端已发送 不带主机名的HTTP/1.1请求(请参阅 RFC2616第14.23节): /w00tw00t.at.ISC.SAN.DFind:)

[2009年4月25日星期六20:05:07][错误] [client 84.243.222.12]中的URI无效 请求获取HTTP/1.1 HTTP/1.1

[2009年4月25日星期六20:05:12][错误] [client 84.243.222.12]脚本不可用 发现或无法统计: /usr/lib/cgi-bin/twiki

[2009年4月25日星期六20:05:12][错误] [client 84.243.222.12]脚本不可用 发现或无法统计: /usr/lib/cgi-bin/wiki

[2009年4月25日星期六20:05:12][错误] [client 84.243.222.12]脚本不可用 发现或无法统计: /usr/lib/cgi-bin/wikis

[2009年4月25日星期六21:46:46][错误] [client 211.68.23.167]中的URI无效 请求获取HTTP/1.1 HTTP/1.1

[2009年4月26日星期日06:13:47][错误] [客户端86.39.154.89]客户端已发送 不带主机名的HTTP/1.1请求(请参阅 RFC2616第14.23节): /w00tw00t.at.ISC.SAN.DFind:)

[2009年4月26日星期日06:53:07][通知] 请求重新启动,正在执行 重新启动


嗯??如果我没记错的话,SIGWINCH是一个信号,当终端窗口的大小改变时,它会被发送到终端应用程序(这样应用程序就可以自行调整大小)。通常由ncurses应用程序使用


这很奇怪。此信息是否为您提供了其他提示

在Ubuntu上启动和停止Apache时,在某些情况下会使用SIGWINCH。如果我在我的Ubuntu 8.10服务器上执行了
sudo apache2ctl优雅停止
,我会在日志中看到:

[Fri Apr 24 22:41:15 2009] [notice] caught SIGWINCH, shutting down gracefully
我记得,SIGWINCH还被一些服务使用,这些服务在循环日志、夜间作业等时需要重新启动Apache

这并不能解释您当前遇到的问题,但我认为可能是服务器上运行的其他东西重新启动了Apache,或者可能与您的问题根本无关


如果可以的话,试着发布更多日志文件,这样会更容易分析:)

在Apache上,SIGWINCH就是信号。请注意,这与信号SIGUSR1不同


不幸的是,我们需要更多信息来告诉您为什么Apache会优雅地停止。

SIGWINCH

事实上,@Stefano是对的:SIGWINCH意味着窗口改变的信号,当终端检测到窗口大小改变时,它会自动发送,以允许重新绘制

SIGWINCH for apache2

但不幸的是,
apache2
process错误地使用了这个信号(以他们转移其第一个含义的方式),但为了防御,他们似乎没有选择,因为缺乏信号而不得不求助于这个方法(参见)。他们的一个假设是
apache2
进程总是在后台。所以@mikl也完全正确

那么,要检查什么?

  • 任何自动重启apache2的原因(cron服务、apt获取相关服务的安装…)
  • 否则,您是否在开放的tty中在前台运行apache2?如果是,则不建议这样做(唉),在调整控制终端的大小时,您可能会很容易地完全关机

在“[notice]抓到SIGWINCH后10秒,它优雅地关闭了。有一个”[notice]Apache/2.2.8(Ubuntu)PHP/5.2.4-2ubuntu5.3,配置了Suhosin补丁——恢复正常操作“这就像设计的一样,看@serv inc,对,这是一个糟糕的设计。是的,你的右边在sigwinch上,在日志上添加了更多。谢谢。嗯,日志转储中没有任何东西表明真正的问题是什么。当问题发生时,您的内存状态如何?调整MaxClients可能很棘手——如果将其设置为高,Apache将消耗所有可用内存并进入完全死锁。另外,你启用了什么Apache模块?我有1GB内存,当问题发生时,有600MB的空闲内存。启用的模块有rewrite、php5、mime和cgi。也许Apache不是问题所在,我会尝试安装Debian的一个移动站点,有时候只是为了一开始就有一个干净的套筒“更便宜”。感谢我,我的主机文件具有未知ip,该ip指向配置服务器时主机设置的服务器主机名。在我删除它之后,这个错误从错误日志中消失