Zauważyłem, że na moim serwerze z linuksem, gdy piszę, uruchom ponownie apachectl, daje mi niewiele, ale pomocne informacje zwrotne, takie jak restarting
wtedy [ok]
i [fail]
na końcu linii. Niewiele, ale przynajmniej wiem, co się dzieje i mogę sprawdzić dzienniki.
Na moim OS X nic nie dostaję. natychmiast następny wiersz:
sh-3.2# /usr/sbin/apachectl stop
sh-3.2# /usr/sbin/apachectl start
sh-3.2#
Jak mogę włączyć te funkcje „debugowania”?
apache-2.2
mac-osx
mgPePe
źródło
źródło
echo
linię.echo
? Przepraszam, jestem nowy i potrzebuję szczegółów: \/usr/sbin/apachectl
.Odpowiedzi:
Co powiesz na skrypt otoki apachectl, który umieścisz na końcu coś takiego?
powinieneś zobaczyć coś takiego podczas normalnego uruchamiania
uwierzytelnienia streszczenia ...
/mlk/apache/pid/httpd.pid nadpisany - Nieczyste zamknięcie poprzedniego uruchomienia Apache?
W przeciwnym razie każdy błąd powinien być przynajmniej częściowo pokazany tutaj. Kluczowe zdanie znajduje się powyżej.
Dodatkowo: / usr / sbin / apachectl jest własnością root, musisz być uprzywilejowanym użytkownikiem, aby to zrobić. sudo vi / usr / sbin / apachectl
przejdź na koniec pliku i wstaw go między wierszami „esac” i „exit $ ERROR”. to znaczy.
Zauważ, że to wydrukuje kilka ostatnich wierszy, bez względu na to, co zrobisz ze skryptem, przestań, uruchom ponownie. możesz umieścić go tylko w części początkowej instrukcji przypadku.
źródło
Mam ten sam problem na moim komputerze Mac. Kiedykolwiek próbuję uruchomić apache i nic się nie dzieje, natychmiast uruchamiam to polecenie. W moim przypadku problemem zawsze wydają się być pliki konfiguracyjne apache.
źródło
apachectl -t
apachectl
na Macu znajduje się opakowanie wokół niektórychlaunchctl
poleceń (wystarczy zajrzeć do pliku). Niestety, launchctl nie wychodzi z kodem błędu, gdy coś idzie nie tak z uruchomieniemhttpd
, więc skrypt nie ma łatwego sposobu na wyświetlenie czegokolwiek, nawet jeśli spróbuje.Podstawowa kontrola, którą możesz wykonać samodzielnie, to sprawdzenie istnienia procesów Apache po
apachectl start
komendzie.źródło
W systemie macOS z
netstat
poleceniem wyświetl całe połączenie sieciowe. Możesz filtrować tylko połączenia „nasłuchuj” i przeglądać serwery http (s).Możesz utworzyć plik bash z tym kodem:
Rezultatem zatrzymania serwera
sudo apachectl -k stop
będzie:Wynik podczas działania serwera
sudo apachectl -k stop
będzie:W tym przykładzie mam dwa serwery, jeden z https i drugi z http.
źródło