¿Cómo reinicias Apache?

249

Cambié de SLES a Ubuntu y ahora quiero reiniciar mi servidor local. En SLES usé:

rcapache2 restart

pero esto de alguna manera parece no funcionar en Ubuntu. :(

¿Cómo reinicio mi Apache?

Jai Puri
fuente

Respuestas:

364

sudo service apache2 restart por la forma en que lo tomó prestado Red Hat.

maco
fuente
1
Creo que servicees la forma LSB, y debería funcionar en la mayoría de las distribuciones, ahora que Debian y Ubuntu finalmente lo consiguieron.
Marius Gedminas
10
sudo restart apache2No está trabajando en Ubuntu 12.04. No estoy seguro de otras versiones de Ubuntu.
saji89
2
@ saji89 que necesitas hacer sudo service apache2 restart, entonces funcionará.
Kevdog777
99
sudo restart apache2no funciona en Ubuntu 14.04. sudo service apache2 restartEstá trabajando duro.
toesslab
105

¿Desea reiniciar Apache o desea recargar su configuración con gracia ?

Todos respondían la primera pregunta; puedes hacer lo segundo con

sudo service apache2 reload

La recarga con gracia es un poco más rápida y no hay tiempo de inactividad.

Hay una advertencia: si sus archivos de configuración de apache contienen un error (por ejemplo, configura un archivo de registro en un directorio que no existe), el servidor puede salir silenciosamente sin imprimir ningún mensaje de error en la consola. La mayoría de los otros errores los detecta el apache2ctl configtestque se service apache2 reloadejecuta antes de realizar la recarga real apache2ctl graceful.

Marius Gedminas
fuente
1
¡Si! ¡Usar agraciado es mucho mejor si desea reiniciar sin dar inicio a los visitantes de su sitio web!
Tommed
Encuentro que es una ventaja de reiniciar que si Apache no se está ejecutando, comenzará . -> ¿La recarga también lo iniciará ?
Torben Gundtofte-Bruun
No lo creo, peor aún, la recarga detendrá un apache en ejecución si comete un error de sintaxis en el archivo de configuración.
Marius Gedminas
3
Ejecute siempre sudo apache2ctl configtestantes de reiniciar correctamente. El reinicio correcto fallará y Apache se detendrá si la configuración tiene un error de sintaxis.
Mikko Rantalainen
@MikkoRantalainen: gracias, he editado la respuesta para soltar el raw apache2ctl gracefuly en su lugar recomiendo solo service apache2 reload, que ejecuta el configtestanterior graceful.
Marius Gedminas
26

La forma recomendada en Ubuntu para iniciar / detener servicios (no solo Apache) es usar los comandos de inicio / detención / recarga (que realmente son enlaces simbólicos al programa initctl , parte del arranque ).

Para los servicios que utilizan los /etc/init.dscripts heredados , se llamará al script correspondiente con los parámetros correctos; para los servicios que utilizan la infraestructura advenedizo, la transición evento apropiado será señalado a la advenediza demonio vía initctl .

Entonces, para iniciar / detener / recargar / reiniciar apache en Ubuntu, puede usar:

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

Por supuesto que puedes cambiar restartpor stop, starty (creo)reload

Oli
fuente
2
Al hacer esto en Ubuntu reciente, recibirá un mensaje sobre cómo hacerlo de la nueva manera, aunque aún ejecutará el comando deseado.
jfmessier
Todavía no me había dado cuenta de que Apache se había mudado a Upstart.
Oli
Ya no veo ese mensaje.
Tim
17

Manera de Ubuntu:

sudo service apache2 restart|stop|start 
dedo del pie
fuente
11

Como dijo Marius, agraciado debería usarse para reiniciar:

sudo apache2ctl graceful

o

sudo apache2ctl graceful-stop

para detener a Apache con gracia.

Estos comandos esperan hasta que se hayan atendido todas las solicitudes de páginas web antes de reiniciar / detener el servidor web para que el usuario no obtenga la mitad de una página web.

kemra102
fuente
4

Primero verifica tu estado usando este comando

sudo service apache2 status

luego detenga el servicio en ejecución

sudo service apache2 stop

luego usa este comando:

sudo /opt/lampp/lampp start

Esta solución me ha funcionado.

Md.Shahjalal
fuente
2

Si está instalando la versión Apache 2.4 en su sistema, para comenzar a reiniciar o detener su servidor Apache en su sistema local, entonces debe ejecutar el siguiente comando

./apachectl start

o puede usar reiniciar , detener también según su requisito. este es el código probado

Mukesh Kumar
fuente
1

puedes usar servicios para reiniciar Apache

service apache2 restart

y puede usar toda la funcionalidad para ello (Detener - Iniciar - Recargar)

vipmaa
fuente
1

La mejor manera de reiniciar su servidor Apache es mediante el siguiente comando:

$ sudo service apache2 restart

Alterar Puede usar el siguiente comando:

$ sudo /etc/init.d/apache2 restart
Rasuradora
fuente
1
Fuente del comando: reiniciar Apache Ubuntu
Razor Rassh
0
sudo systemctl restart apache2

systemctl: controla el sistema systemd y el administrador de servicios.

systemctl puede usarse para introspectar y controlar el estado del sistema "systemd" y el administrador de servicios.

Michal Przybylowicz
fuente
-1

si eres root: (creo que en Ubuntu root está deshabilitado que usar el comando 'sudo')

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

(Si utilizó a2ensite o a2dissite, debe volver a cargar la configuración de apache)

Rinzwind
fuente
rootno está desactivado, simplemente no tiene una contraseña si no la proporciona usted mismo.
Mikael Auno
1
se //stop apachesupone que es un comentario? si es así, la notación de shell estándar sería #stop apache, //no funciona en bash
Mikel
La cuenta raíz @MikaelAuno está deshabilitada si no tiene una contraseña
T0xicCode
1
@ xav0989 Esa es una cuestión de definición. Seguro que no puede iniciar sesión directamente root, o iniciar sesión como rootde cualquier manera que requiera rootla contraseña, pero hay otras formas de hacerlo root. Pruebe, por ejemplo, sudo -iseguido de whoamiy verá que efectivamente ha iniciado sesión como root. Además, si lo hace ps aux | grep root, verá que ya tiene muchos procesos en su sistema ejecutándose como root. Por lo tanto, podría decirse rootque no está deshabilitado.
Mikael Auno
@MikaelAuno o sudo -E -s. Al deshabilitar, supongo que lo que se quiso decir es que no puede iniciar sesión directamente como root, pero aún puede ejecutar procesos como root.
T0xicCode