我在 Xubuntu 14.04 上使用 apache2 时遇到了一些问题。这一切都发生在主板 BIOS 完全故障之后(现已刷新到最新版本 - 到目前为止一切正常),尽管这可能与此无关。
如果我重新启动系统,apache 不再自动启动。如果我手动启动该服务,我会收到以下消息:
* Starting web server apache2 [Thu Sep 18 15:17:56.311536 2014]
(98)Address already in use: AH00072: make_sock: could not bind to address [::]:8 0
(98)Address already in use: AH00072: make_sock: could not bind to address 0.0.0. 0:80
no listening sockets available, shutting down
AH00015: Unable to open logs
Action 'start' failed.
The Apache error log may have more information.
*
* The apache2 instance did not start within 20 seconds. Please read the log files to discover problems
经过一番研究,我发现在启动时(运行后pidof apache2
),apache2 有一个 pid 号在运行。如果我运行,killall apache2
实时 pid 就会消失。然后我可以启动 apache,它工作正常,没有错误,而且确实停止了。我可以继续停止和启动。似乎每当系统重新启动时,apache 都会半启动一个 pid 并开始监听端口 80(阻止它),但运行不正常。所以在重新启动后,我必须运行 killall apache2,然后手动启动服务。
如果在重启后我运行命令 sudo service apache2 restart (因为它应该在启动时已经在运行)我会收到此消息 -
* Restarting web server apache2 [fail]
* There are processes named 'apache2' running which do not match your pid file which are left untouched in the name of safety, Please review the situation by hand.
有人有什么想法吗?我会非常高兴。
值得注意的是,我最近在服务器上启用了 SSL,并且在出现问题之前运行了一周。
日志 -
[Thu Sep 18 14:54:50.454133 2014] [mpm_prefork:notice] [pid 3005] AH00163: Apache/2.4.7 (Ubuntu) PHP/5.5.9-1ubuntu4.4 OpenSSL/1.0.1f configured -- resuming normal operations
[Thu Sep 18 14:54:50.454758 2014] [core:notice] [pid 3005] AH00094: Command line: '/usr/sbin/apache2'
[Thu Sep 18 14:55:09.625943 2014] [mpm_prefork:notice] [pid 3005] AH00169: caught SIGTERM, shutting down
[Thu Sep 18 14:55:16.061357 2014] [mpm_prefork:notice] [pid 3212] AH00163: Apache/2.4.7 (Ubuntu) PHP/5.5.9-1ubuntu4.4 OpenSSL/1.0.1f configured -- resuming normal operations
[Thu Sep 18 14:55:16.061455 2014] [core:notice] [pid 3212] AH00094: Command line: '/usr/sbin/apache2'
[Thu Sep 18 14:58:39.984917 2014] [mpm_prefork:notice] [pid 3212] AH00169: caught SIGTERM, shutting down
如果我在启动之前运行 killall apache2 命令 - 这些是日志条目,
[Mon Sep 22 09:38:14.689608 2014] [mpm_prefork:notice] [pid 2624] AH00163: Apache/2.4.7 (Ubuntu) PHP/5.5.9-1ubuntu4.4 OpenSSL/1.0.1f configured -- resuming normal operations
[Mon Sep 22 09:38:14.689695 2014] [core:notice] [pid 2624] AH00094: Command line: '/usr/sbin/apache2'
非常感谢。
PS-我对Linux和服务器还比较陌生,但我非常喜欢学习Linux和设置自己的家庭服务器。
答案1
确实是我的私有 SSL 密钥上的 PEM 密码导致了问题。Apache 需要在启动时输入该密码,因此它处于挂起状态,处于半运行状态。我已从密钥上删除加密,现在它可以正常启动。非常感谢!!!