Comment redémarrez-vous Apache?


249

Je suis passé de SLES à Ubuntu et je souhaite maintenant redémarrer mon serveur local. Dans SLES j'ai utilisé:

rcapache2 restart

mais cela semble en quelque sorte ne pas fonctionner dans Ubuntu. :(

Comment redémarrer mon Apache?

Réponses:


364

sudo service apache2 restart pour le chemin emprunté à Red Hat.


1
Je pense que servicec'est la méthode LSB, et devrait fonctionner dans la plupart des distributions, maintenant que Debian et Ubuntu l'ont enfin compris.
Marius Gedminas

10
sudo restart apache2ne fonctionne pas dans Ubuntu 12.04. Pas sûr des autres versions d'Ubuntu.
Saji89

2
@ saji89 vous devez faire sudo service apache2 restart, alors cela fonctionnera.
Kevdog777

9
sudo restart apache2ne fonctionne pas dans Ubuntu 14.04. sudo service apache2 restarttravaille dur.
Toesslab

105

Voulez-vous redémarrer Apache ou souhaitez-vous recharger sa configuration avec élégance ?

Tout le monde répondait à la première question. vous pouvez faire la seconde avec

sudo service apache2 reload

Le rechargement en douceur est un peu plus rapide et il n'y a pas de temps d'arrêt.

Il y a un inconvénient: si vos fichiers de configuration apache contiennent une erreur (par exemple, configure un fichier journal dans un répertoire qui n'existe pas), le serveur peut quitter en mode silencieux sans imprimer de message d'erreur sur la console. La plupart des autres erreurs sont capturées par le apache2ctl configtestqui service apache2 reloads'exécute avant le rechargement réel apache2ctl graceful.


1
Oui! Utiliser gracieusement est bien mieux si vous voulez redémarrer sans renvoyer les visiteurs de votre site Web!
Tommed

Je trouve que c'est un avantage de redémarrage que si Apache ne fonctionne pas alors il va commencer . -> Est-ce que le rechargement va aussi le démarrer ?
Torben Gundtofte-Bruun

Je ne pense pas. Pire encore, le rechargement arrêtera un apache en cours d’exécution si vous faites une erreur de syntaxe dans le fichier de configuration.
Marius Gedminas

3
Toujours exécuter sudo apache2ctl configtestavant de redémarrer gracieusement. Le redémarrage normal échouera et apache sera arrêté si config a une erreur de syntaxe.
Mikko Rantalainen

@ MikkoRantalainen: merci, j'ai édité la réponse pour laisser tomber le raw apache2ctl gracefulet plutôt recommander juste service apache2 reload, qui court le configtestprécédent graceful.
Marius Gedminas

26

La méthode recommandée sous Ubuntu pour démarrer / arrêter les services (pas uniquement Apache) consiste à utiliser les commandes start / stop / reload (qui sont en réalité des liens symboliques vers le programme initctl , qui fait partie de upstart ).

Pour les services utilisant les /etc/init.dscripts hérités , le script correspondant sera appelé avec les paramètres corrects. pour les services qui utilisent l'infrastructure upstart, la transition d'événement appropriée sera signalée au démon upstart via initctl .

Donc, pour démarrer / arrêter / recharger / redémarrer apache sur Ubuntu, vous pouvez utiliser:

sudo start apache2
sudo stop apache2
sudo reload apache2
sudo restart apache2

20
sudo /etc/init.d/apache2 restart

Bien sûr , vous pouvez permuter restartpour stop, startet (je pense)reload


2
Lorsque vous effectuez cette opération sous Ubuntu récent, vous recevez un message vous indiquant de le faire de la nouvelle manière, bien que la commande souhaitée soit toujours exécutée.
Jfmessier

Je n'avais pas encore compris qu'Apache avait déménagé vers Upstart.
Oli

Je ne vois plus ce message.
Tim


11

Comme Marius a dit gracieux devrait être utilisé soit pour redémarrer:

sudo apache2ctl graceful

ou

sudo apache2ctl graceful-stop

arrêter gracieusement Apache.

Ces commandes attendent que toutes les demandes de pages Web aient été traitées avant de redémarrer / arrêter le serveur Web afin que votre utilisateur ne reçoive pas la moitié d'une page Web.


4

D'abord, vous vérifiez votre statut en utilisant cette commande

sudo service apache2 status

puis arrêtez le service en cours

sudo service apache2 stop

puis utilisez cette commande:

sudo /opt/lampp/lampp start

cette solution a fonctionné pour moi.


2

si vous installez la version Apache 2.4 sur votre système, pour redémarrer ou arrêter votre serveur Apache sur votre système local, vous devez exécuter la commande suivante

./apachectl start

ou vous pouvez utiliser le redémarrage , arrêtez également selon vos besoins. c'est du code testé


1

vous pouvez utiliser des services pour redémarrer Apache

service apache2 restart

et vous pouvez utiliser toutes les fonctionnalités pour cela (Arrêter - Démarrer - Recharger)


1

Le meilleur moyen de redémarrer votre serveur Apache consiste à utiliser la commande suivante:

$ sudo service apache2 restart

Modifier Vous pouvez utiliser la commande ci-dessous:

$ sudo /etc/init.d/apache2 restart

1
Source de la commande: Redémarrer Apache Ubuntu
Razor Rassh

0
sudo systemctl restart apache2

systemctl - Contrôle le système systemd et le gestionnaire de services.

systemctl peut être utilisé pour examiner et contrôler l'état du gestionnaire de système et de service "systemd".


-1

si vous êtes root: (Je pense que root est désactivé dans Ubuntu, alors utilisez la commande 'sudo'!)

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

(Si vous avez utilisé a2ensite ou a2dissite, vous devez recharger votre configuration apache)


rootn'est pas désactivé, il n'a tout simplement pas de mot de passe si vous ne le donnez pas vous-même.
Mikael Auno

1
est //stop apachecensé être un commentaire? Si tel est le cas, la notation shell standard serait #stop apache, //ne fonctionne pas à Bash
Mikel

Le compte root @MikaelAuno est désactivé s'il n'a pas de mot de passe
T0xicCode

1
@ xav0989 C'est toute la question de la définition. Bien sûr, vous ne pouvez pas vous connecter directement en tant que root, ou vous connecter de rootquelque manière que ce soit qui nécessite rootun mot de passe, mais il existe d'autres façons de le devenir root. Essayez par exemple sudo -isuivi de whoamiet vous verrez que vous êtes bien connecté en tant que root. En outre, si vous le faites, ps aux | grep rootvous constaterez que de nombreux processus sont déjà exécutés sur votre système root. Donc, sans doute, rootn'est pas désactivé.
Mikael Auno

@MikaelAuno ou sudo -E -s. Par désactivé, je suppose que cela signifiait que vous ne pouvez pas vous connecter directement en tant que root, mais vous pouvez toujours exécuter des processus en tant que root.
T0xicCode
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.