Jak zrestartować Apache?

249

Zmieniłem SLES na Ubuntu i teraz chcę zrestartować mój lokalny serwer. W SLES użyłem:

rcapache2 restart

ale wydaje się, że to nie działa w Ubuntu. :(

Jak zrestartować Apache?

Jai Puri
źródło

Odpowiedzi:

364

sudo service apache2 restart za sposób zapożyczony z Red Hat.

maco
źródło
1
Myślę, że servicejest to metoda LSB i powinna działać w większości dystrybucji, teraz, gdy Debian i Ubuntu w końcu ją dostały.
Marius Gedminas,
10
sudo restart apache2nie działa Ubuntu 12.04. Nie jestem pewien innych wersji Ubuntu.
saji89
2
@ saji89 musisz zrobić sudo service apache2 restart, to zadziała.
Kevdog777
9
sudo restart apache2nie działa w Ubuntu 14.04. sudo service apache2 restartciężko pracuje.
toesslab
105

Czy chcesz zrestartować Apache, czy chcesz z wdziękiem ponownie załadować jego konfigurację?

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.

Marius Gedminas
źródło
1
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ć:

sudo start apache2
sudo stop apache2
sudo reload apache2
sudo restart apache2
Riccardo Murri
źródło
20
sudo /etc/init.d/apache2 restart

Oczywiście można zamienić się restartna stop, starti (chyba)reload

Oli
źródło
2
Robiąc to w ramach ostatniego Ubuntu, otrzymujesz komunikat o zrobieniu tego w nowy sposób, chociaż nadal wykonasz pożądane polecenie.
jfmessier,
Nie zdawałem sobie sprawy, że Apache przeprowadził się jeszcze do Upstart.
Oli
Nie widzę już tej wiadomości.
Tim
17

Sposób Ubuntu:

sudo service apache2 restart|stop|start 
palec u nogi
źródło
11

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.

kemra102
źródło
4

Najpierw sprawdź swój status za pomocą tego polecenia

sudo service apache2 status

następnie zatrzymaj działającą usługę

sudo service apache2 stop

następnie użyj tego polecenia:

sudo /opt/lampp/lampp start

to rozwiązanie zadziałało dla mnie.

Md.Shahjalal
źródło
2

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

Mukesh Kumar
źródło
1

możesz użyć usług do zrestartowania Apache

service apache2 restart

i możesz użyć do tego wszystkich funkcji (Stop - Start - Przeładuj)

vipmaa
źródło
1

Najlepszym sposobem na zrestartowanie serwera Apache jest użycie następującego polecenia:

$ sudo service apache2 restart

Zmień Możesz użyć następującego polecenia:

$ sudo /etc/init.d/apache2 restart
Razor Rassh
źródło
1
Źródło polecenia: Uruchom ponownie Apache Ubuntu
Razor Rassh
0
sudo systemctl restart apache2

systemctl - kontroluje systemd i menedżera usług.

Systemctl może być wykorzystywany do introspekcji i kontroli stanu systemu systemd i menedżera usług.

Michał Przybylowicz
źródło
-1

jeśli jesteś rootem: (W Ubuntu root jest wyłączony, myślę, niż użyj polecenia „sudo”!)

$ /etc/init.d/apache stop
$ /etc/init.d/apache start
$ /etc/init.d/apache restart
$ /etc/init.d/apache reload 

(Jeśli używałeś a2ensite lub a2dissite, musisz ponownie załadować konfigurację Apache)

Rinzwind
źródło
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.
T0xicCode