Apache服务器不断崩溃,“caught SIGTERM,shutting down”

60

这个问题大约三周前才开始出现。我的网站内容没有改变,只是一个使用MySQL作为后端的phpBB论坛。

一年多以来没有任何变化,但最近每两天左右,服务器就会突然关闭,无法访问,我不得不通知我的服务提供商来物理重启机器。

似乎与日志中发现的这些SIGTERM错误有关。问题是我不知道如何修复这些问题或找到根本原因,因为我在这个领域的技能有限。

有人有任何想法吗?

  • Apache/2.2.3 (CentOS)
  • 20051115
  • Linux 2.6.18-028stab057.4 #1 SMP Fri Aug 1 10:47:59 MSD 2008 x86_64

来自错误日志:

[Sun Nov 01 15:18:53 2009] [notice] caught SIGTERM, shutting down

我不完全确定那是否是导致我问题的原因,但听起来似乎不太妙。

如果需要,我可以发布更多日志信息。

[Sun Nov 01 05:07:17 2009] [notice] Digest: generating secret for digest authentication ...
[Sun Nov 01 05:07:17 2009] [notice] Digest: done
[Sun Nov 01 05:07:19 2009] [notice] mod_python: Creating 4 session mutexes based on 10 max processes and 0 max threads.
[Sun Nov 01 05:07:19 2009] [warn] RSA server certificate CommonName (CN) `plesk' does NOT match server name!?
[Sun Nov 01 05:07:19 2009] [warn] RSA server certificate CommonName (CN) `plesk' does NOT match server name!?
[Sun Nov 01 05:07:19 2009] [warn] RSA server certificate CommonName (CN) `plesk' does NOT match server name!?
[Sun Nov 01 05:07:19 2009] [warn] Init: SSL server IP/port conflict: default-64-6-237-192:443 (/etc/httpd/conf.d/zz010_psa_httpd.conf:83) vs. webmail:443 (/etc/httpd/conf.d/zz010_psa_httpd.conf:159)
[Sun Nov 01 05:07:19 2009] [warn] Init: You should not use name-based virtual hosts in conjunction with SSL!!
[Sun Nov 01 05:07:19 2009] [warn] WARNING: Attempt to change ServerLimit ignored during restart
[Sun Nov 01 05:07:19 2009] [notice] Apache/2.2.3 (CentOS) configured -- resuming normal operations
[Sun Nov 01 15:16:11 2009] [error] [client 127.0.0.1] Invalid method in request get
[Sun Nov 01 15:18:53 2009] [notice] caught SIGTERM, shutting down
[Sun Nov 01 15:19:27 2009] [notice] suEXEC mechanism enabled (wrapper: /usr/sbin/suexec)
[Sun Nov 01 15:19:27 2009] [warn] RSA server certificate CommonName (CN) `plesk' does NOT match server name!?
[Sun Nov 01 15:19:27 2009] [warn] RSA server certificate CommonName (CN) `plesk' does NOT match server name!?
[Sun Nov 01 15:19:27 2009] [warn] RSA server certificate CommonName (CN) `plesk' does NOT match server name!?
[Sun Nov 01 15:19:27 2009] [warn] Init: SSL server IP/port conflict: default-64-6-237-192:443 (/etc/httpd/conf.d/zz010_psa_httpd.conf:83) vs. webmail:443 (/etc/httpd/conf.d/zz010_psa_httpd.conf:159)
[Sun Nov 01 15:19:27 2009] [warn] Init: You should not use name-based virtual hosts in conjunction with SSL!!
[Sun Nov 01 15:19:27 2009] [notice] Digest: generating secret for digest authentication ...
[Sun Nov 01 15:19:27 2009] [notice] Digest: done
[Sun Nov 01 15:19:27 2009] [notice] mod_python: Creating 4 session mutexes based on 10 max processes and 0 max threads.
[Sun Nov 01 15:19:27 2009] [warn] RSA server certificate CommonName (CN) `plesk' does NOT match server name!?
[Sun Nov 01 15:19:27 2009] [warn] RSA server certificate CommonName (CN) `plesk' does NOT match server name!?
[Sun Nov 01 15:19:27 2009] [warn] RSA server certificate CommonName (CN) `plesk' does NOT match server name!?
[Sun Nov 01 15:19:27 2009] [warn] Init: SSL server IP/port conflict: default-64-6-237-192:443 (/etc/httpd/conf.d/zz010_psa_httpd.conf:83) vs. webmail:443 (/etc/httpd/conf.d/zz010_psa_httpd.conf:159)
[Sun Nov 01 15:19:27 2009] [warn] Init: You should not use name-based virtual hosts in conjunction with SSL!!
[Sun Nov 01 15:19:27 2009] [notice] Apache/2.2.3 (CentOS) configured -- resuming normal operations
[Sun Nov 01 16:42:31 2009] [error] [client ::1] Directory index forbidden by Options directive: /var/www/html/
[Sun Nov 01 16:47:25 2009] [error] [client ::1] Directory index forbidden by Options directive: /var/www/html/
[Sun Nov 01 16:59:22 2009] [error] [client ::1] Directory index forbidden by Options directive: /var/www/html/
[Sun Nov 01 17:37:42 2009] [error] [client ::1] Directory index forbidden by Options directive: /var/www/html/
[Sun Nov 01 17:44:54 2009] [error] [client ::1] Directory index forbidden by Options directive: /var/www/html/
[Sun Nov 01 17:44:55 2009] [error] [client ::1] Directory index forbidden by Options directive: /var/www/html/
[Sun Nov 01 17:44:56 2009] [error] [client ::1] Directory index forbidden by Options directive: /var/www/html/
[Sun Nov 01 18:14:45 2009] [error] [client ::1] Directory index forbidden by Options directive: /var/www/html/
[Sun Nov 01 18:40:30 2009] [error] [client ::1] Directory index forbidden by Options directive: /var/www/html/
[Sun Nov 01 20:10:59 2009] [error] [client ::1] Directory index forbidden by Options directive: /var/www/html/
[Sun Nov 01 20:35:10 2009] [error] [client ::1] Directory index forbidden by Options directive: /var/www/html/
[Sun Nov 01 20:43:07 2009] [error] [client ::1] Directory index forbidden by Options directive: /var/www/html/
[Sun Nov 01 20:43:46 2009] [error] [client ::1] Directory index forbidden by Options directive: /var/www/html/
[Sun Nov 01 21:25:39 2009] [error] [client ::1] Directory index forbidden by Options directive: /var/www/html/
[Sun Nov 01 21:26:03 2009] [error] [client ::1] Directory index forbidden by Options directive: /var/www/html/
[Sun Nov 01 21:56:57 2009] [error] [client ::1] Directory index forbidden by Options directive: /var/www/html/
[Sun Nov 01 22:21:02 2009] [error] [client ::1] Directory index forbidden by Options directive: /var/www/html/
[Sun Nov 01 22:25:16 2009] [error] server reached MaxClients setting, consider raising the MaxClients setting
[Sun Nov 01 22:25:17 2009] [error] [client ::1] Directory index forbidden by Options directive: /var/www/html/
[Sun Nov 01 22:25:18 2009] [error] [client ::1] Directory index forbidden by Options directive: /var/www/html/
[Sun Nov 01 22:25:20 2009] [error] [client ::1] Directory index forbidden by Options directive: /var/www/html/
[Sun Nov 01 22:25:21 2009] [error] [client ::1] Directory index forbidden by Options directive: /var/www/html/
[Sun Nov 01 22:25:22 2009] [error] [client ::1] Directory index forbidden by Options directive: /var/www/html/
[Sun Nov 01 22:46:47 2009] [error] [client ::1] Directory index forbidden by Options directive: /var/www/html/
[Sun Nov 01 22:52:56 2009] [error] [client ::1] Directory index forbidden by Options directive: /var/www/html/
[Sun Nov 01 22:56:07 2009] [error] [client ::1] Directory index forbidden by Options directive: /var/www/html/
[Sun Nov 01 22:56:51 2009] [error] [client ::1] Directory index forbidden by Options directive: /var/www/html/
[Sun Nov 01 22:56:58 2009] [error] [client ::1] Directory index forbidden by Options directive: /var/www/html/
[Sun Nov 01 23:00:41 2009] [error] [client ::1] Directory index forbidden by Options directive: /var/www/html/
[Sun Nov 01 23:09:59 2009] [error] [client ::1] Directory index forbidden by Options directive: /var/www/html/
[Sun Nov 01 23:23:49 2009] [error] [client ::1] Directory index forbidden by Options directive: /var/www/html/
[Sun Nov 01 23:27:14 2009] [error] [client ::1] Directory index forbidden by Options directive: /var/www/html/
[Sun Nov 01 23:36:25 2009] [error] [client ::1] Directory index forbidden by Options directive: /var/www/html/
[Sun Nov 01 23:54:06 2009] [error] [client ::1] Directory index forbidden by Options directive: /var/www/html/
[Mon Nov 02 00:12:44 2009] [error] [client ::1] Directory index forbidden by Options directive: /var/www/html/
[Mon Nov 02 00:12:50 2009] [error] [client ::1] Directory index forbidden by Options directive: /var/www/html/
[Mon Nov 02 00:13:23 2009] [error] [client ::1] Directory index forbidden by Options directive: /var/www/html/
[Mon Nov 02 00:39:06 2009] [error] [client ::1] Directory index forbidden by Options directive: /var/www/html/
[Mon Nov 02 00:52:50 2009] [error] [client ::1] Directory index forbidden by Options directive: /var/www/html/
[Mon Nov 02 00:53:02 2009] [error] [client ::1] Directory index forbidden by Options directive: /var/www/html/
[Mon Nov 02 01:13:38 2009] [error] [client ::1] Directory index forbidden by Options directive: /var/www/html/
[Mon Nov 02 01:13:39 2009] [error] [client ::1] Directory index forbidden by Options directive: /var/www/html/
[Mon Nov 02 01:13:40 2009] [error] [client ::1] Directory index forbidden by Options directive: /var/www/html/
[Mon Nov 02 01:23:01 2009] [error] [client ::1] Directory index forbidden by Options directive: /var/www/html/
[Mon Nov 02 01:43:47 2009] [error] [client ::1] Directory index forbidden by Options directive: /var/www/html/
[Mon Nov 02 01:45:51 2009] [error] [client ::1] Directory index forbidden by Options directive: /var/www/html/
[Mon Nov 02 01:46:27 2009] [error] [client ::1] Directory index forbidden by Options directive: /var/www/html/
[Mon Nov 02 01:47:25 2009] [error] [client ::1] Directory index forbidden by Options directive: /var/www/html/
[Mon Nov 02 02:23:02 2009] [error] [client ::1] Directory index forbidden by Options directive: /var/www/html/
[Mon Nov 02 02:25:37 2009] [error] [client ::1] Directory index forbidden by Options directive: /var/www/html/
[Mon Nov 02 02:25:38 2009] [error] [client ::1] Directory index forbidden by Options directive: /var/www/html/
[Mon Nov 02 02:52:29 2009] [error] [client ::1] Directory index forbidden by Options directive: /var/www/html/
[Mon Nov 02 02:52:51 2009] [error] [client ::1] Directory index forbidden by Options directive: /var/www/html/
[Mon Nov 02 03:49:29 2009] [error] [client ::1] Directory index forbidden by Options directive: /var/www/html/
[Mon Nov 02 03:49:48 2009] [error] [client ::1] Directory index forbidden by Options directive: /var/www/html/
[Mon Nov 02 04:35:33 2009] [error] [client ::1] Directory index forbidden by Options directive: /var/www/html/
[Mon Nov 02 04:46:01 2009] [error] [client 66.96.201.63] File does not exist: /var/www/vhosts/default/htdocs/README
[Mon Nov 02 04:46:01 2009] [error] [client 66.96.201.63] File does not exist: /var/www/vhosts/default/htdocs/horde
[Mon Nov 02 04:46:01 2009] [error] [client 66.96.201.63] File does not exist: /var/www/vhosts/default/htdocs/horde2
[Mon Nov 02 04:46:01 2009] [error] [client 66.96.201.63] File does not exist: /var/www/vhosts/default/htdocs/horde3
[Mon Nov 02 04:46:01 2009] [error] [client 66.96.201.63] File does not exist: /var/www/vhosts/default/htdocs/horde-3.0.9
[Mon Nov 02 04:46:01 2009] [error] [client 66.96.201.63] File does not exist: /var/www/vhosts/default/htdocs/Horde
[Mon Nov 02 04:46:02 2009] [error] [client ::1] Directory index forbidden by Options directive: /var/www/html/
[Mon Nov 02 05:01:06 2009] [error] [client 58.246.73.74] File does not exist: /var/www/vhosts/default/htdocs/README
[Mon Nov 02 05:01:06 2009] [error] [client 58.246.73.74] File does not exist: /var/www/vhosts/default/htdocs/horde
[Mon Nov 02 05:01:07 2009] [error] [client 58.246.73.74] File does not exist: /var/www/vhosts/default/htdocs/horde2
[Mon Nov 02 05:01:08 2009] [error] [client 58.246.73.74] File does not exist: /var/www/vhosts/default/htdocs/horde3
[Mon Nov 02 05:01:08 2009] [error] [client 58.246.73.74] File does not exist: /var/www/vhosts/default/htdocs/horde-3.0.9
[Mon Nov 02 05:01:09 2009] [error] [client 58.246.73.74] File does not exist: /var/www/vhosts/default/htdocs/Horde
[Mon Nov 02 05:01:09 2009] [error] [client ::1] Directory index forbidden by Options directive: /var/www/html/
[Mon Nov 02 05:01:10 2009] [error] [client ::1] Directory index forbidden by Options directive: /var/www/html/
[Mon Nov 02 05:01:11 2009] [error] [client ::1] Directory index forbidden by Options directive: /var/www/html/
[Mon Nov 02 09:17:58 2009] [notice] caught SIGTERM, shutting down
[Mon Nov 02 09:18:58 2009] [notice] suEXEC mechanism enabled (wrapper: /usr/sbin/suexec)
[Mon Nov 02 09:18:58 2009] [warn] RSA server certificate CommonName (CN) `plesk' does NOT match server name!?
[Mon Nov 02 09:18:58 2009] [warn] RSA server certificate CommonName (CN) `plesk' does NOT match server name!?
[Mon Nov 02 09:18:58 2009] [warn] RSA server certificate CommonName (CN) `plesk' does NOT match server name!?
[Mon Nov 02 09:18:58 2009] [warn] Init: SSL server IP/port conflict: default-64-6-237-192:443 (/etc/httpd/conf.d/zz010_psa_httpd.conf:83) vs. webmail:443 (/etc/httpd/conf.d/zz010_psa_httpd.conf:159)
[Mon Nov 02 09:18:58 2009] [warn] Init: You should not use name-based virtual hosts in conjunction with SSL!!
[Mon Nov 02 09:18:58 2009] [notice] Digest: generating secret for digest authentication ...
[Mon Nov 02 09:18:58 2009] [notice] Digest: done
[Mon Nov 02 09:18:58 2009] [notice] mod_python: Creating 4 session mutexes based on 10 max processes and 0 max threads.
[Mon Nov 02 09:18:58 2009] [warn] RSA server certificate CommonName (CN) `plesk' does NOT match server name!?
[Mon Nov 02 09:18:58 2009] [warn] RSA server certificate CommonName (CN) `plesk' does NOT match server name!?
[Mon Nov 02 09:18:58 2009] [warn] RSA server certificate CommonName (CN) `plesk' does NOT match server name!?
[Mon Nov 02 09:18:58 2009] [warn] Init: SSL server IP/port conflict: default-64-6-237-192:443 (/etc/httpd/conf.d/zz010_psa_httpd.conf:83) vs. webmail:443 (/etc/httpd/conf.d/zz010_psa_httpd.conf:159)
[Mon Nov 02 09:18:58 2009] [warn] Init: You should not use name-based virtual hosts in conjunction with SSL!!
[Mon Nov 02 09:18:58 2009] [notice] Apache/2.2.3 (CentOS) configured -- resuming normal operations
[Mon Nov 02 09:32:34 2009] [error] [client ::1] Directory index forbidden by Options directive: /var/www/html/

2
这个应该发到serverfault.com吧? - mhaller
我甚至不知道那个存在,我会在那里重新发布,谢谢。 - Tom
5
Tom,抱歉重新激活一个已经很久没有回复的帖子,但最终这个问题解决了吗?我好像在 Apache/2.2.3 (CentOS) 上遇到了完全相同的问题。 CPU/内存利用率达到最大值,然后需要进行硬重置。 - Wayne
我发现certbot正在生成那些SIGTERM。 - javinievas
9个回答

22

SIGTERM被用于重新启动Apache (只要它在init中设置为自动重启):http://httpd.apache.org/docs/2.2/stopping.html

你在日志中看到的条目几乎肯定是因为你的提供商使用了SIGTERM来实现此目的。如果真的崩溃了,甚至无法提供静态内容,那么这听起来像是某种线程或连接耗尽的问题。也许是一种保持连接打开的DoS攻击?

这绝对应该是您的提供商需要调查的问题。


这就是问题所在,我的服务提供商告诉我由于我的托管解决方案的性质,他们无能为力。我一直告诉他们自从这个问题发生以来,我的端口没有任何变化,但是他们置若罔闻,只是告诉我查看日志并雇用某人来帮助我,这不是我想听到的。我将在我的原始帖子中添加一些日志信息。 - Tom
日志中我发现有趣的事情是:在22:25:16,“服务器达到了MaxClients设置”,以及所有的访问被禁止的消息。请查看您的访问日志,看看在那个时间段内发生了什么。 - kdgregory
另外请注意,SIGTERM发生在09:17:58,而队列中的上一条消息是在05:01:11时发送的--这再次表明SIGTERM是有意的。我建议再次查看访问日志以查看之前的活动--我猜测它会在05:01左右停止。 - kdgregory
最后:我绝对不是Apache专家,但是重启时出现的所有这些错误消息会让我非常担心。看起来你的提供商也不是Apache专家。 - kdgregory
哦,那么SIGTERM很可能是服务提供商关闭服务器了?我忽略了时间,你是对的。崩溃看起来发生在5:01,然后当我弄清楚发生了什么时,我会通知我的提供商在9:17重新启动服务器。 - Tom
我告诉您它的情况 - 当您购买了托管服务后,一切都很顺利。一年后,您的提供商认为“嗯,他已经使用我们的托管服务一年了,现在我们可以将他转移到那些超负荷的糟糕机器上”。在超负荷的机器上,有一个类似于“系统进程监视器”的东西,它会不时地杀死使用过多资源的进程。现在我正在与VPS提供商作斗争 - 情况相同...但我相信最终会转到专用服务器上;/ - thorinkor

7

我们的L.A.M.P.服务器经常出现神秘的SIGTERM关闭,后来发现是由于自定义PHP模块中版本不匹配导致的错误。通过查看故障发生时的Apache访问/错误日志找到了问题所在。记得打开错误日志记录。


1
这些错误日志是位于 /var/logs/httpd 吗?你还记得日志中错误信息的要点吗? - Tom
在新版本中(默认情况下),它将位于var/log/apache2/。 - toing_toing

3
你是否已经要求你的服务提供商进行调查?我假设这不是一台专用服务器。
表面上看,这似乎是一个安全异常,有人试图利用它/或者有一个定时运行的进程导致了这个问题,你能想到每两天在服务器上运行的任何东西吗?日志记录工具?
SIGTERM是发送给进程请求其终止的信号。SIGTERM的符号常量在头文件signal.h中定义。使用符号信号名称是因为信号号码可以在平台之间变化,但在绝大多数系统上,SIGTERM是信号#15。

服务器是VPS,我的提供商告诉我他们不提供此类事情的支持。这基本上都在我的控制之下。如果我发布更多的错误日志,是否有助于找出发生了什么? - Tom
可能是这样,但到目前为止,错误日志告诉我们,拥有管理员权限的某个人告诉服务器关闭了。 - LiamB
Apache会定期自行重新启动,以清理一些东西,我想这就是个特征。问题可能在于它无法从自动重启中恢复过来。 - Kzqai

1

Apache未运行

可能是因为Apache没有配置在启动时自动运行。假设您使用的是类似CentOS或Fedora的Red Hat系统,chkconfig -–list命令将显示每个运行级别设置为启动的服务。您应该看到一行类似于

    httpd           0:off   1:off   2:on    3:on    4:on    5:on    6:off

如果状态栏显示的是“off”,您可以使用chkconfig httpd on来激活它。或者,您可以从面板手动启动apache。

1

来自此页面

我找到了这些信息:

然而,mod_fastcgi进程管理器并不是特别耐心(在这里有改进的空间),因为它也必须关闭,并向其负责的所有FastCGI应用程序发送SIGTERM信号。Apache将重新启动进程管理器,并重新启动其托管的应用程序(就像服务器刚刚启动一样)。 SIGTERM是,好吧,SIGTERM-您的应用程序应该快速退出。

这对我意味着,如果数据库I/O或CGI脚本的其他部分未能及时响应(即随着数据量增长变得越来越慢),那么mod_fastcgi会杀死脚本......这是其他人如何解释这些文档的,还是我漏掉了什么。


0
在使用Python写入大型Excel文件,并在另一个终端使用free -m命令检查内存时,当内存达到0时,控制台输出为:
Killed

查看服务器日志,我发现错误与你的相同:

Received SIGTERM, shutting down

因此,在我的情况下,这是一个内存问题。我不知道写入Excel需要如此多的RAM,请参见为什么使用Python的openpyxl模块写入几MB的工作簿会占用数GB的RAM?

0
尝试升级并安装新的软件包。
sudo apt-get update && sudo apt-get upgrade -y

0

在我的情况下,这个问题是在安装certbot SSL证书后发生的,以下步骤对我有用:

  1. 通过SSH连接到服务器

  2. 编辑/etc/apache2/apache2.conf文件。我使用nano编辑器,您可以使用您喜欢的编辑器

sudo nano /etc/apache2/apache2.conf

  1. 搜索“Mutex”部分

  2. 添加以下行:

Mutex posixsem

  1. 保存并关闭文件。

  2. 在重新启动Apache服务之前运行以下命令检查配置:

sudo apachectl configtest

  1. 如果以上检查一切正常,请重新启动Apache服务,

sudo service apache2 restart

希望这能帮助到某些人。


-4
尝试在Ubuntu中禁用重写模块,使用sudo a2dismod rewrite。这可能会阻止您的Apache服务器崩溃。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接