Apache 无法从 FreeBSD 上的 rc.d 运行

Apache 无法从 FreeBSD 上的 rc.d 运行

我使用的是 FreeBSD 8.3 和 Apache 2.2。我没有从 ports 安装 Apache,而是从源代码编译它,因为我想将二进制文件和配置移到不同的路径(我将所有主要生产守护进程及其配置集中在一个地方)。无论如何,我基于从 ports 安装的另一个服务器中的文件创建了 /usr/local/etc/rc.d/apache22 文件,我只修改了其中的二进制文件和配置路径。

我可以使用 /usr/local/etc/rc.d/apache22 start 手动执行它,但是即使 /etc/rc.conf 中的 apache22_enable="YES" 它也无法启动。所有权限和所有权都与它运行的其他服务器相同。

我遗漏了什么?有没有办法调试这种事情?

答案1

如果您运行/usr/local/etc/rc.d/apache22 rcvar它,它会告诉您它正在查看的变量,以及它在 rc.conf 中的设置,但如果它正确启动start(而不是onestartforcestart),它应该在启动时正确启动。

如果这不能立即给你答案和解决方案,那么忘记基础在另一个服务器上安装您的脚本(Apache 脚本有一些额外的复杂性),而是从本指南开始实用的 rc.d 脚本
如果您遵循这些说明,您将不得不费尽心思创建一个不起作用的脚本。
作为奖励,您将了解 rc.d 序列的工作原理,并能够在将来更好地理解和排除故障。

相关内容