Apache 2.4.9不遵守PidFile指令

时间:2015-01-06 23:27:36

标签: macos apache osx-yosemite

Re:Mac OS X Yosemite 10.10.1,Apache 2.4.9

Apache 2.4.9似乎忽略了PidFile指令,并始终在/var/run/httpd.pid中创建进程ID文件。这使得无法启动多个httpd实例,每个实例都在不同的端口上进行侦听。例如,Apache 2.2.26没有这个问题。

所以请亲自看看:

1)修改Apache的“默认”Mac OS X配置文件/etc/apache2/httpd.conf,以包含(就在ServerRoot之后)一个指令,例如:

  

PidFile“/var/log/apache2/apache.pid”

2)这样启动Apache:

  

sudo apachectl start

3)观察到指定的.pid文件丢失,而Apache已创建/var/run/httpd.pid。

如何解决?

1 个答案:

答案 0 :(得分:1)

这不是错误。您只是忽略了以下事实:默认配置包含/etc/apache2/extra/httpd-mpm.conf,在第12行设置PidFile

#
# PidFile: The file in which the server should record its process
# identification number when it starts.
#
# Note that this is the default PidFile for most MPMs.
#
<IfModule !mpm_netware_module>
    PidFile "/private/var/run/httpd.pid"
</IfModule>