2012-11-05 55 views
14

我有這個奇怪的問題與Apache:org.apache.httpd:已加載

$ apachectl configtest 

Syntax OK 

CONFIGS都OK,它實際上是工作在一分鐘前,我纔將它關閉。

$ sudo apachectl start 
org.apache.httpd: Already loaded 

不,這不是:

$ ps ax | grep httpd 
58204 s000 R+  0:00.00 grep httpd 

讓我們試着去阻止它:

$ sudo apachectl stop 

看起來是停止了,對不對?讓我們嘗試再次啓動它:

所以它必須運行,但它不是在ps ax,它根本不起作用。

$ sudo apachectl stop 
$ sudo apachectl stop 
launchctl: Error unloading: org.apache.httpd 

試圖從自動啓動刪除:

$ sudo launchctl unload -w /System/Library/LaunchDaemons/org.apache.httpd.plist 
$ sudo launchctl unload -w /System/Library/LaunchDaemons/org.apache.httpd.plist 
launchctl: Error unloading: org.apache.httpd 

但它是相同的,當我嘗試啓動它,它假裝它啓動,但事實並非如此。沒有錯誤記錄。幫幫我!

OS X 10.8.2山獅

更新:

重啓後:

$ sudo apachectl start 
Password: 
org.apache.httpd: Already loaded 

$ sudo launchctl load -w /System/Library/LaunchDaemons/org.apache.httpd.plist 
org.apache.httpd: Already loaded 

$ ps ax | grep httpd 
7300 s000 R+  0:00.00 grep httpd 

所以我沒有有效的web服務器現在剩下的。

解決方案:

org.apache.httpd.plist研究我想通了,Apache是​​由Ruby腳本/usr/sbin/http-wrapper其中有運行,因爲我已經更換了系統Ruby解釋一些問題控制後。這個固定爲我:

ln -s /System/Library/Frameworks/Ruby.framework/Versions/Current/usr/bin/ruby /usr/bin/ruby 
+2

在研究了'org.apache.httpd.plist'後,我發現apache是​​由一個ruby腳本'/ usr/sbin/http-wrapper'控制的,它有一些運行問題因爲我已經更換了系統ruby解釋器。這固定它:'ln -s /System/Library/Frameworks/Ruby.framework/Versions/Current/usr/bin/ruby/usr/bin/ruby' – firedev

+1

這個問題似乎是題外話題,因爲它太本地化 - OP已經取代了始終成爲問題的系統軟件 – Mark

回答

0


閱讀這篇文章,尼克回答在11月5日,我試圖運行在終端/ usr/sbin目錄/ HTTP的包裝爲root用戶。我收到這個輸出

titanium:~ root# /usr/sbin/httpd-wrapper 
(2)No such file or directory: httpd: could not open error log file /private/var/log/apache2/error_log. 
Unable to open logs 
titanium:~ root# 

然後我檢查/ private/var/log/apache2文件夾不存在。我創建了它併爲每個人設置了權利。

titanium:log root# mkdir /private/var/log/apache2  
titanium:log root# chmod 777 /private/var/log/apache2/ 
titanium:log root# 

它適合我!
注意:如果你對安全性,給予更嚴格的權限/私營/無功/日誌/ Apache2的而不是777

11

手動運行該服務器,並修復錯誤報告:

root#> /usr/sbin/httpd -k start 
1

我修復是在httpd.conf中切換「... apache_access_log combined」。

今天我很粗魯地面對這個小小的挫折,雖然像glasnhos-,w/out ruby​​ wrapper。 @glasnhost,你的後遺症讓我失望了。在那天的早些時候,我在apache httpd.conf上玩過日誌。我已經切換這兩個幾乎相同的行中的第二個(帶有引號,並且帶有引號;注意一個具有分機.log;而另一個是下劃線_log)。

 # CustomLog "/Applications/MAMP/logs/apache_access.log" combined 
     CustomLog /Applications/MAMP/logs/apache_access_log combined 

類似地,奇怪的是,這個問題直到幾個小時後才使我的系統感到不安。感謝這個線程我的系統恢復了健康! 沒有提升的信譽..