启动 Apache 时出现问题

启动 Apache 时出现问题

在回答问题之前,让我先介绍一些背景信息:

我在华硕 transformer 上的 Android 上安装了 Ubuntu karmic。我还安装了 netbeans、git、tightvncserver 和 openssh。

我正在使用 android vnc 查看器应用程序查看桌面。Tightvnc 正在监听端口 5900 和 5901。

现在说说我的问题。我已经安装了 apache2。安装没有问题。当我启动 apache 服务时,它在终端中显示它正在初始化,没有问题,但是当我使用 netstat -tulpn 检查端口时,我没有看到 apache 在任何端口上监听。我看到的只有 tightvnc。

这是我在 apache error.log 文件中看到的错误。

[warn] pid file /var/run/apache2.pid overwritten -- Unclean shutdown of previous Apache run?
[emerg] (38)Function not implemented: Couldn't create accept lock (/var/lock/apache2/accept.lock.13752) (5)

这是多次演出的。

有什么建议么?

答案1

这与内核缺少 System V IPC 有关。

如果您有用于构建内核的配置文件,您可以检查它;例如,目前在 Ubuntu 中(配置文件名将根据您的具体版本而变化)

grep CONFIG_SYSVIPC /boot/config-3.0.0-13-generic

给出:

CONFIG_SYSVIPC=y

(除此之外,但这是最重要的)。

在某些内核中,您还可以检查/proc/config.gz是否CONFIG_IKCONFIG_PROC已打开;这会为您提供当前正在运行的内核选项的 gzip 转储(因此请使用zgrep它)。Ubuntu 的库存内核没有启用此功能,但您不太可能需要它,因为软件包无论如何都会为您提供配置文件。

解决方案:使用原装的 Ubuntu 内核(它确实非常好,并且编译了您可能需要的几乎所有内容) - 或者在启用此功能的情况下重建您的自定义内核。

答案2

仅供参考,我通过添加行解决了这个问题

AcceptMutex fcntl

到 apache2.conf 的底部

答案3

我在使用 chroot ubuntu 发行版的 Android 上遇到了同样的错误。我只是更改了以下 apache 选项(apache2.conf):

AcceptMutex 群

对我来说,它很有用。希望它能有所帮助。

相关内容