Wszyscy odpowiadali na pierwsze pytanie; możesz zrobić drugie z
sudo service apache2 reload
Wdzięczne przeładowywanie jest nieco szybsze i nie ma przestojów.
Jest jedno zastrzeżenie: jeśli pliki konfiguracyjne Apache zawierają błąd (np. Konfiguruje plik dziennika w katalogu, który nie istnieje), serwer może cicho wyjść bez drukowania komunikatów o błędach na konsoli. Większość inne błędy są wychwytywane przez apache2ctl configtestktóry service apache2 reloadbiegnie przed wykonaniem rzeczywistego przeładuj apache2ctl graceful.
Tak! Korzystanie z wdzięku jest znacznie lepsze, jeśli chcesz zrestartować komputer bez uruchamiania przeglądarek!
tommed
Uważam, że zaletą ponownego uruchomienia jest to, że jeśli Apache nie działa, to się uruchomi . -> Czy przeładowanie również go uruchomi ?
Torben Gundtofte-Bruun
Nie sądzę - nawet gorzej, przeładowanie zatrzyma działający apache, jeśli popełnisz błąd składniowy w pliku konfiguracyjnym.
Marius Gedminas
3
Zawsze uruchamiaj sudo apache2ctl configtestprzed ponownym uruchomieniem. Pełne ponowne uruchomienie zakończy się niepowodzeniem, a apache zostanie zatrzymany, jeśli w konfiguracji wystąpił błąd składniowy.
Mikko Rantalainen
@MikkoRantalainen: dziękuję, zredagowałem odpowiedź, aby upuścić surowe apache2ctl gracefuli zamiast tego polecam tylko service apache2 reload, która działa configtestwcześniej graceful.
Marius Gedminas
26
Zalecanym sposobem Ubuntu do uruchamiania / zatrzymywania usług (nie tylko Apache) jest użycie poleceń start / stop / reload (które tak naprawdę są symbolicznymi linkami do
programu initctl , części upstart ).
W przypadku usług korzystających ze starszych /etc/init.dskryptów odpowiedni skrypt zostanie wywołany z poprawnymi parametrami; w przypadku usług korzystających z infrastruktury upstart odpowiednie przejście zdarzenia zostanie zasygnalizowane
demonowi upstart poprzez
initctl .
Tak więc, aby uruchomić / zatrzymać / przeładować / ponownie uruchomić apache na Ubuntu, możesz użyć:
Jak powiedział Marius, wdzięku należy użyć do ponownego uruchomienia:
sudo apache2ctl graceful
lub
sudo apache2ctl graceful-stop
z wdziękiem zatrzymać Apache.
Te polecenia czekają, aż wszystkie żądania stron internetowych zostaną obsłużone, przed ponownym uruchomieniem / zatrzymaniem serwera WWW, aby użytkownik nie dostał połowy strony internetowej.
jeśli instalujesz wersję Apache 2.4 w swoim systemie, aby rozpocząć restart lub zatrzymać serwer Apache w systemie lokalnym, powinieneś uruchomić następującą komendę
./apachectl start
lub możesz użyć restartu , zatrzymaj również zgodnie z wymaganiami. to jest przetestowany kod
rootnie jest wyłączone, po prostu nie ma hasła, jeśli sam go nie podasz.
Mikael Auno
1
to //stop apachemiał być komentarz? jeśli tak, to standardowy zapis powłoka będzie #stop apache, //nie działa w bash
Mikel
Konto główne @MikaelAuno jest wyłączone, jeśli nie ma hasła
T0xicCode
1
@ xav0989 To kwestia definicji. Na pewno nie możesz zalogować się bezpośrednio rootlub zalogować się w rootjakikolwiek sposób, który wymaga roothasła do tego celu, ale istnieją inne sposoby, aby się do niego dostać root. Spróbuj na przykład sudo -iwykonać, whoamia zobaczysz, że naprawdę jesteś zalogowany jako root. Ponadto, jeśli to zrobisz ps aux | grep root, zobaczysz, że masz już wiele procesów w systemie uruchomionych jako root. Prawdopodobnie rootnie jest wyłączony.
Mikael Auno,
@MikaelAuno lub sudo -E -s. Wyłączone Zakładam, że chodziło o to, że nie możesz zalogować się bezpośrednio jako root, ale nadal możesz uruchamiać procesy jako root.
service
jest to metoda LSB i powinna działać w większości dystrybucji, teraz, gdy Debian i Ubuntu w końcu ją dostały.sudo restart apache2
nie działaUbuntu 12.04
. Nie jestem pewien innych wersji Ubuntu.sudo service apache2 restart
, to zadziała.sudo restart apache2
nie działa w Ubuntu 14.04.sudo service apache2 restart
ciężko pracuje.Czy chcesz zrestartować Apache, czy chcesz z wdziękiem ponownie załadować jego konfigurację?
Wszyscy odpowiadali na pierwsze pytanie; możesz zrobić drugie z
Wdzięczne przeładowywanie jest nieco szybsze i nie ma przestojów.
Jest jedno zastrzeżenie: jeśli pliki konfiguracyjne Apache zawierają błąd (np. Konfiguruje plik dziennika w katalogu, który nie istnieje), serwer może cicho wyjść bez drukowania komunikatów o błędach na konsoli. Większość inne błędy są wychwytywane przez
apache2ctl configtest
któryservice apache2 reload
biegnie przed wykonaniem rzeczywistego przeładujapache2ctl graceful
.źródło
sudo apache2ctl configtest
przed ponownym uruchomieniem. Pełne ponowne uruchomienie zakończy się niepowodzeniem, a apache zostanie zatrzymany, jeśli w konfiguracji wystąpił błąd składniowy.apache2ctl graceful
i zamiast tego polecam tylkoservice apache2 reload
, która działaconfigtest
wcześniejgraceful
.Zalecanym sposobem Ubuntu do uruchamiania / zatrzymywania usług (nie tylko Apache) jest użycie poleceń start / stop / reload (które tak naprawdę są symbolicznymi linkami do programu initctl , części upstart ).
W przypadku usług korzystających ze starszych
/etc/init.d
skryptów odpowiedni skrypt zostanie wywołany z poprawnymi parametrami; w przypadku usług korzystających z infrastruktury upstart odpowiednie przejście zdarzenia zostanie zasygnalizowane demonowi upstart poprzez initctl .Tak więc, aby uruchomić / zatrzymać / przeładować / ponownie uruchomić apache na Ubuntu, możesz użyć:
źródło
Oczywiście można zamienić się
restart
nastop
,start
i (chyba)reload
źródło
Sposób Ubuntu:
źródło
Jak powiedział Marius, wdzięku należy użyć do ponownego uruchomienia:
lub
z wdziękiem zatrzymać Apache.
Te polecenia czekają, aż wszystkie żądania stron internetowych zostaną obsłużone, przed ponownym uruchomieniem / zatrzymaniem serwera WWW, aby użytkownik nie dostał połowy strony internetowej.
źródło
Najpierw sprawdź swój status za pomocą tego polecenia
następnie zatrzymaj działającą usługę
następnie użyj tego polecenia:
to rozwiązanie zadziałało dla mnie.
źródło
jeśli instalujesz wersję Apache 2.4 w swoim systemie, aby rozpocząć restart lub zatrzymać serwer Apache w systemie lokalnym, powinieneś uruchomić następującą komendę
lub możesz użyć restartu , zatrzymaj również zgodnie z wymaganiami. to jest przetestowany kod
źródło
możesz użyć usług do zrestartowania Apache
i możesz użyć do tego wszystkich funkcji (Stop - Start - Przeładuj)
źródło
Najlepszym sposobem na zrestartowanie serwera Apache jest użycie następującego polecenia:
Zmień Możesz użyć następującego polecenia:
źródło
źródło
jeśli jesteś rootem: (W Ubuntu root jest wyłączony, myślę, niż użyj polecenia „sudo”!)
(Jeśli używałeś a2ensite lub a2dissite, musisz ponownie załadować konfigurację Apache)
źródło
root
nie jest wyłączone, po prostu nie ma hasła, jeśli sam go nie podasz.//stop apache
miał być komentarz? jeśli tak, to standardowy zapis powłoka będzie#stop apache
,//
nie działa w bashroot
lub zalogować się wroot
jakikolwiek sposób, który wymagaroot
hasła do tego celu, ale istnieją inne sposoby, aby się do niego dostaćroot
. Spróbuj na przykładsudo -i
wykonać,whoami
a zobaczysz, że naprawdę jesteś zalogowany jakoroot
. Ponadto, jeśli to zrobiszps aux | grep root
, zobaczysz, że masz już wiele procesów w systemie uruchomionych jakoroot
. Prawdopodobnieroot
nie jest wyłączony.sudo -E -s
. Wyłączone Zakładam, że chodziło o to, że nie możesz zalogować się bezpośrednio jakoroot
, ale nadal możesz uruchamiać procesy jakoroot
.