我已经从 lenny 升级到 wheezy,现在 apache 无法启动:
# /etc/init.d/apache2 start
Starting web server: apache2[Wed May 08 19:01:08 2013] [crit] (22)Invalid argument: alloc_listener: failed to get a socket for (null)
Syntax error on line 17 of /etc/apache2/ports.conf:
Listen setup failed
Action 'start' failed.
The Apache error log may have more information.
failed!
ports.conf 的第 17 行当然是正确的:
# If you just change the port or add more ports here, you will likely also
# have to change the VirtualHost statement in
# /etc/apache2/sites-enabled/000-default
# This is also true if you have upgraded from before 2.2.9-3 (i.e. from
# Debian etch). See /usr/share/doc/apache2.2-common/NEWS.Debian.gz and
# README.Debian.gz
#NameVirtualHost *:80
#Listen 80
<IfModule mod_ssl.c>
# If you add NameVirtualHost *:443 here, you will also have to change
# the VirtualHost statement in /etc/apache2/sites-available/default-ssl
# to <VirtualHost *:443>
# Server Name Indication for SSL named virtual hosts is currently not
# supported by MSIE on Windows XP.
Listen 443
</IfModule>
<IfModule mod_gnutls.c>
Listen 443
</IfModule>
看起来它与我正在运行的内核中不存在的一些内核调用有关:http: //major.io/2009/08/14/fedora-11-httpd-alloc_listener-failed-to-get-a-socket -for-null/
这是一个xen VPS,内核版本是2.6.26-amd64。我现在无法更新内核,因为提供商需要做一部分。我已经发送了请求,但我不知道他们需要多长时间。
在我有机会更新内核之前,有没有办法让它工作?
您是否尝试过在 ServerFault 上找到的此解决方案:
它即将在您的系统上重新安装 libapr1。
干杯,
K.
其他东西已经在监听端口 443(也许是旧版本的 apache?)。杀死它,apache 启动将再次工作。