Wie starte ich Apache neu?

249

Ich habe von SLES zu Ubuntu gewechselt und möchte jetzt meinen lokalen Server neu starten. In SLES habe ich verwendet:

rcapache2 restart

aber irgendwie scheint das in Ubuntu nicht zu funktionieren. :(

Wie starte ich meinen Apache neu?

Jai Puri
quelle

Antworten:

364

sudo service apache2 restart für die Art und Weise, die von Red Hat ausgeliehen ist.

maco
quelle
1
Ich denke, das serviceist der LSB-Weg und sollte in den meisten Distributionen funktionieren, nachdem Debian und Ubuntu ihn endlich bekommen haben.
Marius Gedminas
10
sudo restart apache2arbeitet nicht in Ubuntu 12.04. Ich bin mir anderer Ubuntu-Versionen nicht sicher.
Saji89
2
@ saji89 musst du machen sudo service apache2 restart, dann klappt es.
Kevdog777
9
sudo restart apache2funktioniert nicht in Ubuntu 14.04. sudo service apache2 restartarbeitet hart.
Toesslab
105

Möchten Sie Apache neu starten oder die Konfiguration ordnungsgemäß neu laden ?

Alle beantworteten die erste Frage. du kannst das zweite mit machen

sudo service apache2 reload

Das ordnungsgemäße Nachladen ist etwas schneller und es gibt keine Ausfallzeiten.

Es gibt eine Einschränkung: Wenn Ihre Apache-Konfigurationsdateien einen Fehler enthalten (z. B. eine Protokolldatei in einem nicht vorhandenen Verzeichnis konfigurieren), wird der Server möglicherweise unbeaufsichtigt beendet, ohne dass Fehlermeldungen an die Konsole ausgegeben werden. Die meisten anderen Fehler werden von dem abgefangen, der ausgeführt wird apache2ctl configtest, service apache2 reloadbevor das eigentliche Neuladen mit ausgeführt wird apache2ctl graceful.

Marius Gedminas
quelle
1
Ja! Verwenden Sie elegant ist viel besser, wenn Sie neu starten möchten, ohne Ihre Website-Viewer zu starten!
12.
Ich finde, dass es ein Vorteil des Neustarts ist, dass, wenn Apache nicht ausgeführt wird, es gestartet wird . -> Wird reload es auch starten ?
Torben Gundtofte-Bruun
Ich glaube nicht - noch schlimmer, Reload stoppt einen laufenden Apache, wenn Sie einen Syntaxfehler in der Konfigurationsdatei machen.
Marius Gedminas
3
Immer ausführen, sudo apache2ctl configtestbevor ein ordnungsgemäßer Neustart durchgeführt wird. Der ordnungsgemäße Neustart schlägt fehl und Apache wird angehalten, wenn in der Konfiguration ein Syntaxfehler vorliegt.
Mikko Rantalainen
@MikkoRantalainen: danke, ich habe die antwort bearbeitet, um das raw fallen zu lassen apache2ctl gracefulund stattdessen nur zu empfehlen service apache2 reload, was configtestvorher läuft graceful.
Marius Gedminas
26

Der empfohlene Weg unter Ubuntu zu starten / stoppen Dienste (nicht nur Apache) ist den Start verwenden / Stop / Reload - Befehle (die eigentlich symbolische Links auf denen sind initctl Programm, einen Teil des Emporkömmling ).

Für Dienste, die die Legacy- /etc/init.dSkripte verwenden, wird das entsprechende Skript mit den richtigen Parametern aufgerufen. Für Dienste, die die Upstart-Infrastruktur verwenden, wird der entsprechende Ereignisübergang über initctl an den Upstart- Daemon signalisiert .

Um Apache unter Ubuntu zu starten, zu stoppen, neu zu laden oder neu zu starten, können Sie Folgendes verwenden:

sudo start apache2
sudo stop apache2
sudo reload apache2
sudo restart apache2
Riccardo Murri
quelle
20
sudo /etc/init.d/apache2 restart

Natürlich können Sie tauschen restartfür stop, startund (glaube ich)reload

Oli
quelle
2
Wenn Sie dies unter dem aktuellen Ubuntu tun, erhalten Sie eine Meldung darüber, wie Sie es auf die neue Weise tun, obwohl es immer noch den gewünschten Befehl ausführen wird.
jfmessier
Mir war noch nicht klar, dass Apache zu Upstart gewechselt war.
Oli
Ich sehe diese Nachricht nicht mehr.
Tim
17

Ubuntu Weg:

sudo service apache2 restart|stop|start 
Zehe
quelle
11

Wie Marius sagte, sollte anmutig entweder zum Neustart verwendet werden:

sudo apache2ctl graceful

oder

sudo apache2ctl graceful-stop

Apache anmutig zu stoppen.

Diese Befehle warten, bis alle Anforderungen für Webseiten erfüllt sind, bevor der Webserver neu gestartet / gestoppt wird, damit der Benutzer keine halbe Webseite erhält.

kemra102
quelle
4

Zuerst überprüfen Sie Ihren Status mit diesem Befehl

sudo service apache2 status

Beenden Sie dann den ausgeführten Dienst

sudo service apache2 stop

dann benutze diesen Befehl:

sudo /opt/lampp/lampp start

Diese Lösung hat bei mir funktioniert.

Md.Shahjalal
quelle
2

Wenn Sie die Apache 2.4-Version auf Ihrem System installieren, um den Apache-Server auf Ihrem lokalen System neu zu starten oder anzuhalten, sollten Sie den folgenden Befehl ausführen

./apachectl start

oder Sie können Neustart verwenden , stoppen Sie auch nach Ihren Anforderungen. Dies ist getesteter Code

Mukesh Kumar
quelle
1

Sie können Dienste zum Neustarten von Apache verwenden

service apache2 restart

und Sie können alle Funktionen dafür nutzen (Stop - Start - Reload)

vipmaa
quelle
1

Der Apache-Server lässt sich am besten mit dem folgenden Befehl neu starten:

$ sudo service apache2 restart

Alter Sie können den folgenden Befehl verwenden:

$ sudo /etc/init.d/apache2 restart
Rasiermesser Rassh
quelle
1
Befehlsquelle
0
sudo systemctl restart apache2

systemctl - Steuert das System und den Service Manager.

systemctl kann verwendet werden, um den Status des System- und Service-Managers "systemd" zu überprüfen und zu steuern.

Michal Przybylowicz
quelle
-1

Wenn Sie root sind: (In Ubuntu ist root meiner Meinung nach deaktiviert, dann verwenden Sie den Befehl 'sudo'!)

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

(Wenn Sie a2ensite oder a2dissite verwendet haben, müssen Sie Ihre Apache-Konfiguration neu laden.)

Rinzwind
quelle
rootist nicht deaktiviert, es hat nur kein Passwort, wenn Sie es nicht selbst vergeben.
Mikael Auno
1
ist //stop apacheeigentlich ein Kommentar sein? Wenn ja, würde Standard-Shell-Notation sein #stop apache, //funktioniert nicht in Bash
Mikel
@MikaelAuno root-Konto ist deaktiviert, wenn es kein Passwort hat
T0xicCode
1
@ xav0989 Das ist eine Frage der Definition. Sicher, Sie können sich nicht direkt als rootoder rootin einer Weise anmelden , die rootdas Passwort für diese Angelegenheit erfordert , aber es gibt andere Möglichkeiten, es zu werden root. Versuchen Sie zum Beispiel, sudo -igefolgt von whoamiund Sie werden sehen, dass Sie tatsächlich angemeldet sind als root. Wenn Sie dies tun, werden ps aux | grep rootSie feststellen, dass bereits viele Prozesse auf Ihrem System ausgeführt werden als root. Also wohl rootnicht deaktiviert.
Mikael Auno
@MikaelAuno oder sudo -E -s. Mit deaktiviert gehe ich davon aus, dass gemeint war, dass Sie sich nicht direkt anmelden können root, aber Sie können weiterhin Prozesse ausführen als root.
T0xicCode