Tengo una pregunta de Apache aquí.
Durante toda mi carrera como desarrollador, he reiniciado Apache de esta manera:
sudo /etc/init.d/apache2 restart
Hoy acabo de implementar mi primera aplicación Rails, pero tenía problemas para que Apache se reiniciara en la máquina host. Cuando lo intenté de esa manera, Apache intentaba reiniciarse, pero finalmente se bloqueaba.
Esto, sin embargo, funcionó bien:
sudo apachectl restart
¿Cuáles son las diferencias entre estas dos técnicas? Supuse que el último era, en el mejor de los casos, "azúcar sintáctico" para el primero, pero ese no debe ser el caso, dado que el último funcionó mientras que el primero no.
Si es relevante (y sospecho que puede serlo), esta aplicación Rails usa Phusion Passenger. Mi experiencia previa en desarrollo (mediante la cual el método anterior funciona bien) es principalmente con PHP. Soy bastante nuevo en Rails.
El servidor en cuestión es Ubuntu 11.04 (Natty).
fuente
Respuestas:
Este método utiliza los scripts de inicio de su distribución de Linux para reiniciar el proceso. Estas secuencias de comandos se ejecutan en el momento del arranque para iniciar apache.
Este método utiliza el programa de control apachectl . En casi todas las ocasiones recomendaría el uso de apachectl the para manipular el demonio apache. Usted tiene un control más detallado sobre cómo se reinicia el proceso (ver agraciado versus reinicio), las opciones de validación de configuración y una forma de obtener información de estado.
La principal diferencia entre usar los scripts de inicio para reiniciar apache y apachectl es que apachectl está específicamente diseñado para permitir a los administradores controlar apache, mientras que los scripts de inicio están diseñados como una forma generalizada para que Unixes inicie procesos después de que se hayan cargado el núcleo y el daeamon de init.
EDITAR: Desafortunadamente, no tengo idea de cómo abordar su problema con Rails o Phusion Passenger. Intenta buscar pistas en los registros de Apache .
fuente