Eu instalei o mongodb e os drivers php no meu servidor unix.
Minha pergunta é como posso saber se o mongodb está em execução? Existe uma consulta de linha de comando simples para verificar o status? Se eu iniciá-lo uma vez a partir do shell, ele continuará em execução se eu sair do shell (não parece ser o caso). Como posso tornar a conexão mongodb persistente e iniciar automaticamente na reinicialização do servidor?
Eu posso correr:
-bash-3.2 $ su
Senha:
[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 ajuda e opções de inicialização
Quarta, 23 de fevereiro, 08:06:54 MongoDB iniciando: pid = 7271 port = 27017 dbpath = / data / db / 32-bit** NOTA: ao usar MongoDB de 32 bits, você está limitado a cerca de 2 gigabytes de dados
** consulte http://blog.mongodb.org/post/137788967/32-bit-limitations** AVISO: Você está executando em OpenVZ. Isso é conhecido por estar quebrado !!!
Quarta, 23 de fevereiro 08:06:54 db versão v1.6.5, pdfile versão 4.5
Quarta, 23 de fevereiro 08:06:54 git version: 0eb017e9b2828155a67c5612183337b89e12e291
Quarta, 23 de fevereiro 08:06:54 sys info: Linux domU-12-31-39-01 -70-B4 2.6.21.7-2.fc8xen # 1 SMP Sex.
15 de fevereiro 12:39:36 EST 2008 i686 BOOST_LIB_VERSION = 1_37
Quarta, 23 de fevereiro 08:06:54 [initandlisten] aguardando conexões na porta 27017
Quarta, 23 de fevereiro 08: 06:54 [websvr] interface de administração da web ouvindo na porta 28017
Se eu abrir um shell separado, posso me conectar ao mongodb:
-bash-3.2 $ cd / var / lib
-bash-3.2 $ ./mongodb-linux-i686-1.6.5/bin/mongo
MongoDB versão do shell: 1.6.5
conectando-se a: test
db.foo.find ()
{" _id ": ObjectId (" 4d63d7d3eb95985ab19c8feb ")," a ": 1}
No entanto, se eu fechar o shell inicial, não consigo conectar:
-bash-3.2 $ cd / var / lib
-bash-3.2 $ ./mongodb-linux-i686-1.6.5/bin/mongo
MongoDB versão do shell: 1.6.5
conectando-se a: teste
Quarta, 23 de fevereiro 08:25:10 Erro : não foi possível conectar ao servidor 127.0.0.1 (anon): 1154
exceção: a conexão falhou
pgrep mongo
.Eu acho:
Para ser muito mais consistente. O valor retornado pode ser usado para detectar quantas instâncias de mongod estão em execução
fonte
Para verificar rapidamente se o mongodb está em execução, este truque rápido do nc permitirá que você saiba.
O comando acima assume que você o está executando na porta padrão do host local.
Para iniciá-lo automaticamente, você pode querer dar uma olhada neste tópico .
fonte
27017 open
, ou entãoConnection refused
.isso deve funcionar bem ...
fonte
Para verificar o status de execução atual do uso do mongodb:
sudo service mongodb status
fonte
Correto, fechar o shell irá parar o MongoDB. Tente usar o
--fork
argumento da linha de comando para o processo mongod que o faz rodar como um daemon. Não sou um guru do Unix, mas tenho certeza de que deve haver uma maneira de fazê-lo iniciar automaticamente quando a máquina for inicializada.por exemplo
Verifique a documentação completa sobre como iniciar e parar o Mongo .
fonte
[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
mas ainda quando fecho o shell e abro um novo, receboConnect failed
&
, e agora não consigo encontrar o ID do processo.ps -e | grep mongod
Você pode usar o comando abaixo para verificar o status do MongoDB, por exemplo:
sudo service MongoDB status
que exibe o status do serviço MongoDB como na imagem:fonte
Provavelmente porque não desliguei meu servidor de desenvolvimento corretamente ou por um motivo semelhante. Para consertar, remova o bloqueio e inicie o servidor com:
sudo rm /var/lib/mongodb/mongod.lock ; sudo start mongodb
fonte
Eu sei que isso é para php, mas cheguei aqui procurando uma solução para node. Usando mongoskin:
Com outros drivers, você pode tentar fazer uma conexão e, se falhar, você sabe que o servidor mongo está inativo. O Mongoskin precisa realmente fazer alguma chamada (como ping) porque ele se conecta lentamente. Para php, você pode usar o método try-to-connect. Faça um script!
PHP:
fonte