2015-01-06 33 views
1

回覆:Mac OS X的約塞米蒂10.10.1,阿帕奇2.4.9的Apache 2.4.9不尊重PidFile指令

的Apache 2.4.9似乎忽略PidFile指令,並且總是在/創建一個進程ID文件無功/運行/ httpd.pid。這使得不可能啓動多個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

這不是一個錯誤。您剛剛忽略了以下事實:默認配置包括/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>