He instalado mongodb y los controladores php en mi servidor Unix.
Mi pregunta es ¿cómo puedo saber si mongodb se está ejecutando? ¿Existe una consulta de línea de comando simple para verificar el estado? Si lo inicio una vez desde el shell, seguirá ejecutándose si salgo del shell (este no parece ser el caso). ¿Cómo puedo hacer que la conexión mongodb sea persistente y se inicie automáticamente al reiniciar el servidor?
Puedo correr:
-bash-3.2 $ su
Contraseña:
[root @ xxx] # cd / var / lib
[root @ xxx] # ./mongodb-linux-i686-1.6.5/bin/mongod
./mongodb-linux-i686-1.6. 5 / bin / mongod --help para obtener ayuda y opciones de inicio
Mié 23 de febrero 08:06:54 MongoDB comenzando: pid = 7271 puerto = 27017 dbpath = / data / db / 32-bit** NOTA: cuando usa MongoDB de 32 bits, está limitado a aproximadamente 2 gigabytes de datos
** consulte http://blog.mongodb.org/post/137788967/32-bit-limitations** ADVERTENCIA: está ejecutando OpenVZ. ¡Se sabe que esto está roto!
Mié 23 de febrero 08:06:54 db versión v1.6.5, versión pdfile 4.5
Mié 23 de febrero 08:06:54 versión de git: 0eb017e9b2828155a67c5612183337b89e12e291
Mié 23 de febrero 08:06:54 Información del sistema: Linux domU-12-31-39-01 -70-B4 2.6.21.7-2.fc8xen # 1 SMP Vie
15 de febrero 12:39:36 EST 2008 i686 BOOST_LIB_VERSION = 1_37
Mié 23 de febrero 08:06:54 [initandlisten] esperando conexiones en el puerto 27017
Mié 23 de febrero 08: 06:54 [websvr] interfaz de administración web escuchando en el puerto 28017
Si abro una carcasa separada, puedo conectarme a mongodb:
-bash-3.2 $ cd / var / lib
-bash-3.2 $ ./mongodb-linux-i686-1.6.5/bin/mongo
Versión de shell de MongoDB: 1.6.5
conectando a: test
db.foo.find ()
{" _id ": ObjectId (" 4d63d7d3eb95985ab19c8feb ")," a ": 1}
Sin embargo, si cierro el shell inicial, no puedo conectarme:
-bash-3.2 $ cd / var / lib
-bash-3.2 $ ./mongodb-linux-i686-1.6.5/bin/mongo
Versión de shell de MongoDB: 1.6.5
conectando a: prueba
Mié 23 de febrero 08:25:10 Error : no se pudo conectar al servidor 127.0.0.1 (anon): 1154
excepción: la conexión falló
pgrep mongo
.Encuentro:
Para ser mucho más consistente. El valor devuelto se puede utilizar para detectar cuántas instancias de mongod se están ejecutando
fuente
Para comprobar rápidamente si mongodb se está ejecutando, este truco rápido de nc te lo hará saber.
El comando anterior asume que lo está ejecutando en el puerto predeterminado en localhost.
Para iniciarlo automáticamente, es posible que desee ver este hilo .
fuente
27017 open
, o bienConnection refused
.esto debería funcionar bien ...
fuente
Para verificar el estado de ejecución actual del uso de mongodb:
sudo service mongodb status
fuente
Correcto, cerrar el shell detendrá MongoDB. Intente usar la
--fork
línea de comando arg para el proceso mongod, lo que hace que se ejecute como un demonio. No soy un gurú de Unix, pero estoy seguro de que debe haber una forma de que se inicie automáticamente cuando la máquina se inicie.p.ej
Consulte la documentación completa sobre cómo iniciar y detener Mongo .
fuente
[root@xxx lib]# ./mongodb-linux-i686-1.6.5/bin/mongod --fork --logpath /var/log/m ongodb.log --logappend all output going to: /var/log/mongodb.log forked process: 7518
pero aún así cuando cierro el shell y abro uno nuevo, obtengoConnect failed
&
, y ahora no puedo encontrar el processid.ps -e | grep mongod
Puede usar el siguiente comando para verificar el estado de MongoDB, por ejemplo:
sudo service MongoDB status
que muestra el estado del servicio MongoDB como en la captura de pantalla:fuente
Probablemente porque no cerré mi servidor de desarrollo correctamente o por una razón similar. Para solucionarlo, quite el bloqueo e inicie el servidor con:
sudo rm /var/lib/mongodb/mongod.lock ; sudo start mongodb
fuente
Sé que esto es para php, pero llegué aquí buscando una solución para node. Usando mongoskin:
Con otros controladores, puede intentar establecer una conexión y, si falla, sabrá que el servidor mongo está inactivo. Mongoskin necesita hacer alguna llamada (como ping) porque se conecta de forma perezosa. Para php, puede usar el método try-to-connect. ¡Haz un guión!
PHP:
fuente