在我的开发服务器上。埃维经常会摔倒在apache2身上。它不再作为一个进程运行。
服务器详细信息: Linux Debian蚀刻Apache2
# ps aux | grep apache
www-data 6782 99.9 0.2 4792 2912 ? R Oct12 8592:53 /usr/sbin/apache/log
root 22418 0.0 0.0 2852 704 pts/2 S+ 13:31 0:00 grep apache
# apache2ctl restart
httpd not running, trying to start
(98)Address already in use: make_sock: could not bind to address [::]:80
(98)Address already in use: make_sock: could not bind to address 0.0.0.0:80
no listening sockets available, shutting down
Unable to open logs当我检查/var/log/apach2 2/error.log时,里面什么都没有。
我想我想做两件事。
如果我重新启动机器,我就可以让apache重新启动并运行。有人能解释一下这是怎么回事吗?
谢谢,德里克
发布于 2009-10-18 16:57:40
恐怕你被黑了。我会运行一个工具来检查根工具包并查找任何rogue脚本。查看/tmp中任何奇怪的文件或脚本。我认为debian在适当的报复中有了rkhunter。祝好运。
发布于 2009-10-18 12:49:19
pid 6782似乎是一个apache进程,那么为什么您认为它没有运行呢?该过程可能使端口80处于打开状态,这就是不能启动新端口的原因。
我愿意打赌,杀死它的是当它旋转日志文件时发生的“重新启动”。但你不会知道,直到它再次发生,你可以得到一个真正的"ps“输出,也许是一个”暂停“或”桁架“的卡住过程。
发布于 2009-10-18 14:42:32
我要做的第一件事就是去找一个/usr/sbin/apache/log文件,看看到底是什么。看起来很奇怪。即使它看起来是一个有效的二进制文件,也可以尝试“string /usr/sbin/apache/log for”来查找任何可疑的东西。
ps应该在那里显示已执行的命令afaik,并且不应该存在像/usr/sbin/*/log这样的命令。在我的系统(ubuntu)上,ps列表/usr/sbin/apache2在那里。我也经常使用Debian,据我所知,debian的设置是相同的。另外,检查"pgrep -l apache“的输出。
如果您发现正在发生一些正常的事情(即,您的服务器还没有被黑客攻击),那么您可以尝试确保您没有运行与某个模块(特别是php)不兼容的多线程mpm。另外,检查磁盘空间、权限等。如果无法访问它的日志文件,Apache喜欢放弃并崩溃,但通常在启动时会发生这种情况。类似的情况可能发生在直到稍后才打开的文件(虽然我无法想象这些文件是什么-- htaccess和密码文件应该会优雅地失败)。
https://serverfault.com/questions/75644
复制相似问题