¿Cómo iniciar el servidor MongoDB al iniciar el sistema?

86

Tengo que iniciar mi servidor MongoDB cada vez que se reinicia el sistema. ¿Cómo lo configuro para comenzar con mi sistema operativo? Estoy en Ubuntu 11.04.


fuente
1
Me pregunto por qué nadie recomienda usar advenedizo aquí.
Tom

Respuestas:

133

Tuve el mismo "problema" en Debian jessie, y mi solución simple es:

systemctl enable mongod.service

Creo que en Ubuntu es lo mismo.

- EDITAR -

Según los comentarios, también funciona en Ubuntu. En Ubuntu 18.04 LTS parece ser esta solución:

systemctl enable mongodb.service

Gracias a @Adam. Tal vez cambiaron el nombre del servicio.

Biber
fuente
10
Trabajado para mí enUbuntu Mate 16.04.2 LTS
Muhammad Gelbana
2
Lástima que no hay información en la documentación oficial sobre cómo iniciar el servicio.
UpTheCreek
2
puede necesitar (sudo) systemctl start mongodiniciar el servicio mongd
Jeff Xiao
2
También funciona en ubuntu 18.04 LTS
89n3ur0n
1
Solo funciona para mí si cambio mongod.servicea mongodb.serviceUbuntu 18.04 LTS - ¿extraño?
Adam
37

Si instala MongoDB utilizando la Herramienta de empaquetado avanzada (apt), configurará sus scripts de inicio para ejecutar Mongo automáticamente cuando se inicie el sistema.

Los pasos son los siguientes: primero configure apt para poder descargar el paquete Mongo:

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv 7F0CEB10
sudo nano /etc/apt/sources.list

Agregue esta línea a sources.list y luego guarde:

deb http://downloads-distro.mongodb.org/repo/ubuntu-upstart dist 10gen

Luego descargue e instale Mongo con la utilidad apt-get :

sudo apt-get update
sudo apt-get upgrade
sudo apt-get install mongodb-10gen

Si desea realizar cambios en la configuración, edite su mongodb.conf y reinicie: 

sudo nano /etc/mongodb.conf
sudo service mongod restart
stenci
fuente
55
Si luego desea cambiarlo para no iniciar MongoDB automáticamente al inicio, edite /etc/init/mongodb.conf.
kynan
11

El control de todos los enlaces de servicio init.d debe hacerse con la herramienta update-rc.d

es decir, para activar el demonio mongod en los niveles de ejecución predeterminados (es decir, activarlo en el arranque):

update-rc.d mongodb defaults

Consulte https://help.ubuntu.com/community/UbuntuBootupHowto para obtener más información. Este enlace le dice todo lo que desea saber sobre cómo configurar programas en el arranque.

Ben Walding
fuente
2
La distribución 10gen MongoDB no utiliza scripts de inicio de estilo System-V, debe editarlos /etc/init/mongodb.conf.
kynan
¿Necesito hacer esto?
tofutim
5

Si ha instalado MongoDB Community Edition (que es la forma recomendada ya que recibe actualizaciones más frecuentes que el paquete distribuido en el repositorio de paquetes de Ubuntu), configure el comportamiento de inicio / detención amongod través del script de inicio /etc/init/mongod.conf , que por defecto inicia el demonio automáticamente en el arranque

start on runlevel [2345]
stop on runlevel [06]

Si no desea que se inicie automáticamente, reemplace esas 2 líneas con

stop on runlevel [023456]
kynan
fuente
¿Esto iniciará el servidor antes de que alguien inicie sesión en el sistema?
Gabriel Fair
@GabrielFair Sí
kynan
5

Estoy usando crontab para Ubuntu. Funciona bien. Para poder editar el archivo

Sudo crontab –e 

Agregue esta línea al archivo

@reboot sudo service mongod start &

El suspiro "&" al final lo ayuda a trabajar en segundo plano.

Ctrl+ xpara salir, presione "Y" una vez que se le solicite. Y mantenga el nombre del archivo como "crontab".

CodeGench
fuente
3

Si tiene Ubuntu 16.04 LTS, puede habilitar mongo para iniciar el arranque escribiendo esto en su consola:
sudo systemctl enable mongod
he utilizado este enfoque con MongoDB Community Edition 3.6 y funciona. Reinicie su máquina y pruebe si mongo se está ejecutando escribiendo:
sudo service mongod status

Mariusz Wiazowski
fuente
3

Puede usar el comando systemctl para habilitar su servicio mongo en la ejecución en el arranque del sistema.

Crea un servicio tal que

sudo nano /etc/systemd/system/mongodb.service

Colocar contenido en el archivo

[Unit]
Description=MongoDB Database Service
Wants=network.target
After=network.target

[Service]
ExecStart=/usr/bin/mongod --config /etc/mongod.conf
ExecReload=/bin/kill -HUP $MAINPID
Restart=always
User=mongodb
Group=mongodb
StandardOutput=syslog
StandardError=syslog

después de eso podrás usar comandos de servicio como

sudo service mongod start|stop|restart

y luego, si desea recuperarlo al iniciar la máquina, puede crear un archivo mongod en /etc/init.d/

Touseef Murtaza
fuente
1

chkconfig --levels 235 mongod on?

donde mongodb es el nombre de tu servicio


fuente
2
La distribución 10gen MongoDB no usa scripts de inicio de estilo System-V de forma predeterminada (aunque se proporciona uno), edite en su /etc/init/mongodb.conflugar.
kynan
@kynan ¿Cómo editarlo? ¿Qué cambio / agrego al archivo mongod.conf?
Kieveli
@Kieveli: mira esta respuesta
kynan
1

Siempre he usado esta publicación como punto de partida para poner en funcionamiento una nueva plataforma de fragmentación. Incluye una sección sobre configuración de arranque que también he usado.

http://joslynesser.com/blog/archives/2010/09/28/mongodb-sharding-guide-server-setup-on-ubuntu-ec2/

csief
fuente
1
No publique "solo enlaces externos". Es posible que el enlace externo se caiga en el futuro y esta respuesta sería incompleta. Además del enlace, publique la parte relevante del artículo aquí: por ejemplo. publicar la parte que muestra "¿Cómo iniciar el servidor MongoDB al iniciar el sistema?" usando advenedizo.
manipulado el
1

Si instala MongoDB apt-getcomo se describe en la guía de instalación de MongoDB Ubuntu , vendrá con un script de inicio básico y un archivo de configuración. (se recomienda el uso de un archivo de configuración)

También puede consultar aquí una publicación antigua que se vincula a un init.dscript.

En cualquier caso, la premisa básica es que está configurando un servicio y luego configurándolo para iniciar y detener con la computadora. Esta es una técnica bastante común para los servidores, hay muchos tutoriales para hacer exactamente esto.

Vicepresidente de Gates
fuente
2
ya no es el caso en 16.04
chovy