Org.apache.httpd: уже загружен - программирование
Подтвердить что ты не робот

Org.apache.httpd: уже загружен

У меня есть эта странная проблема с apache:

$ apachectl configtest

Syntax OK

Конфигурации в порядке, и это действительно работало минуту назад, прежде чем я его закрыл.

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

Нет, нет:

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

Попробуйте остановить его:

$ sudo apachectl stop

Похоже, он остановлен, верно? Попробуйте снова запустить его:

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

Итак, он должен работать, но он не находится в 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 Горный лев

Update:

После перезагрузки:

$ 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

Итак, я фактически оставлен без веб-сервера.

Решение:

После изучения org.apache.httpd.plist я выяснил, что apache контролируется рубином script /usr/sbin/http-wrapper, у которого были некоторые проблемы, потому что я заменил интерпретатор рубиновых систем. Это исправило это для меня:

ln -s /System/Library/Frameworks/Ruby.framework/Versions/Current/usr/bin/ruby /usr/bin/ruby
4b9b3361

Ответ 1

запустите сервер вручную и исправьте сообщение об ошибке:

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

Ответ 2

мое исправление заключалось в том, что "... apache_access_log объединен" в httpd.conf.

Я грубо столкнулся с такой же небольшой неудачей сегодня, хотя, как и glasnhos-, без рубиновой обертки. @glasnhost, ваш задумчивый опрокинул меня. В начале дня, когда я работал с apache httpd.conf, играл с журналом. я включил вторую из этих двух почти идентичных строк (w/quotes и w/out кавычки; заметьте, что у одного есть расширение .log, в то время как другое - подчеркивание _log).

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

аналогично, и, как ни странно, проблема не пугала мою систему до нескольких часов. благодаря этой теме моя система вернулась и здоров! нет доверия к всплеску.

Ответ 3


Прочитав эту статью и ответ Ник 5 ноября, я попытался запустить /usr/sbin/http -wrapper в Terminal как пользователь 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/apache 2 не существует. Я создал его и установил права для всех.

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

Это работает для меня!
Примечание. Если вы заботитесь о безопасности, дайте более ограниченное разрешение для /private/var/log/apache 2, а не 777.