não pôde se conectar ao servidor 127.0.0.1 shell / mongo.js

quando eu setup mongodb no meu Ubuntu, eu tento: ./mongo ele mostra este erro:

couldn't connect to server 127.0.0.1 shell/mongo.js 

então o que eu posso fazer ,

obrigado

  • Remova manualmente o sudo rm /var/lib/mongodb/mongod.lock bloqueio: sudo rm /var/lib/mongodb/mongod.lock
  • Execute o script de reparo: sudo -u mongodb mongod -f /etc/mongodb.conf --repair

Por favor observe o seguinte:

  • Você deve executar este comando como o usuário mongodb. Se você executá-lo como root, então o root possuirá arquivos em / var / lib / mongodb / que são necessários para executar o daemon mongodb e, portanto, quando o daemon tentar ser executado posteriormente como o usuário mongodb, ele não terá permissions para iniciar . Nesse caso, você receberá este erro: Não é possível criar / abrir o arquivo de bloqueio para lockfilepath: /var/lib/mongodb/mongod.lock errno: 13 Permission denied, terminating.
  • No Ubuntu, você deve especificar o arquivo de configuração /etc/mongodb.conf usando o sinalizador -f. Caso contrário, ele procurará os arquivos de dados no lugar errado e você verá o seguinte erro: dbpath (/ data / db /) não existe, terminando.
 sudo rm /var/lib/mongodb/mongod.lock sudo -u mongodb mongod -f /etc/mongodb.conf --repair sudo service mongodb start 

Aqui está tudo, às vezes, demora um pouco para iniciar o mongo depois de realizar essas operações.

Tentando correr $ mongod

Se você receber um erro, como

 MongoDB shell version: 2.0.5 connecting to: test Fri Jun 1 11:20:33 Error: couldn't connect to server 127.0.0.1 shell/mongo.js:84 exception: connect failed hisham-agil:~ hisham$ mongod mongod --help for help and startup options Fri Jun 1 11:24:47 [initandlisten] MongoDB starting : pid=53452 port=27017 dbpath=/data/db/ 64-bit host=hisham-agil.local Fri Jun 1 11:24:47 [initandlisten] db version v2.0.5, pdfile version 4.5 Fri Jun 1 11:24:47 [initandlisten] git version: nogitversion Fri Jun 1 11:24:47 [initandlisten] build info: Darwin gamma.local 11.3.0 Darwin Kernel Version 11.3.0: Thu Jan 12 18:48:32 PST 2012; root:xnu-1699.24.23~1/RELEASE_I386 i386 BOOST_LIB_VERSION=1_49 Fri Jun 1 11:24:47 [initandlisten] options: {} Fri Jun 1 11:24:47 [initandlisten] exception in initAndListen: 10296 dbpath (/data/db/) does not exist, terminating Fri Jun 1 11:24:47 dbexit: Fri Jun 1 11:24:47 [initandlisten] shutdown: going to close listening sockets... Fri Jun 1 11:24:47 [initandlisten] shutdown: going to flush diaglog... Fri Jun 1 11:24:47 [initandlisten] shutdown: going to close sockets... Fri Jun 1 11:24:47 [initandlisten] shutdown: waiting for fs preallocator... Fri Jun 1 11:24:47 [initandlisten] shutdown: lock for final commit... Fri Jun 1 11:24:47 [initandlisten] shutdown: final commit... Fri Jun 1 11:24:47 [initandlisten] shutdown: closing all files... Fri Jun 1 11:24:47 [initandlisten] closeAllFiles() finished Fri Jun 1 11:24:47 dbexit: really exiting now 

Então você se deparou com um erro básico de boot que é bastante comum.

Por padrão, o mongod tentará usar / data / db para seus arquivos de database, que neste caso, não existem.

Você não pode começar

 mongo 

até você segurar

 mongod. 

Tente criar esses diretórios e verifique se eles podem ser gravados pelo mesmo usuário que está executando o processo mongod.

** Veja pergunta semelhante – Obtendo um erro, “Erro: não foi possível conectar ao servidor 127.0.0.1 shell / mongo.js” & ao tentar executar o mongodb no mac osx lion

Isso não é realmente um erro … O que acontece aqui é que o Mongo depende de um daemon para executar o servidor de database local, então para “iniciar” o servidor mongo no seu shell, você precisa iniciar o serviço mongo primeiro.

Para o Fedora Linux (que é a Distro que eu uso) Você tem que executar estes comandos:

 1 sudo service mongod start 2 mongo 

E aí está você! o servidor será executado. Agora, se você deseja que o serviço Mongo seja iniciado quando o sistema for inicializado, será necessário executar:

 sudo chkconfig --levels 235 mongod on 

E isso é tudo! Se você fizer isso, agora no shell você só precisa digitar mongo para iniciar o servidor, mas isso é muito bonito, o problema é que você precisa iniciar o SERVICE primeiro e depois o SERVER 🙂

PS Os comandos que eu postei podem funcionar em outras distribuições linux também, não apenas no fedora … No caso de você não precisar ajustar algumas palavras dependendo da distro que estiver usando;)

Eu tenho o mesmo problema quando tentei instalar o mongo. Eu tenho erro como,

Erro

 "Error: couldn't connect to server 127.0.0.1 shell/mongo.js:84" 

Solução:

Primeiro instale o mongod usando:

 sudo apt-get install mongodb-server 

Então digite

 mongod --dbpath /mongo/db 

Então

 sudo rm /var/lib/mongodb/mongod.lock 

Então

 sudo -u mongodb mongod -f /etc/mongodb.conf --repair 

Obrigado

Você precisa excluir o mongod.lock ou /var/lib/mongodb/mongod.lock no ubuntu, então você precisa executar o mongod.exe ou o service mongodb start no ubuntu primeiro, então execute o mongo.exe ou mongo no ubuntu.

O seu mongod não está em execução (verifique usando o comando “ps”) ou ele está escutando em algum endereço IP externo e não no host local. Então, primeiro verifique a lista de processos se o ‘mongod’ estiver em execução. Se sim, verifique com “netstat -nap” para a porta relacionada.

Claro que você pode iniciar o mongod no console manualmente ou até mesmo olhar no arquivo de log do mongod (se houver um configurado … dependendo de como você instalou o mongod).

Primeiro você precisa ter certeza de que todos os arquivos e diretórios em sua pasta / var / lib / mongodb / (ou qualquer pasta apontada pelo dbpath) pertencem ao usuário mongodb e ao grupo mongodb.

 cd /var/lib/mongodb/ sudo chown mongodb filename.* sudo chgrp mongodb filename.* sudo chown -R mongodb directory sudo chgrp -R mongodb directory 

(Substitua nome do arquivo e diretório pelos seus respectivos nomes)

Então você pode remover o bloqueio, reparar o database e reiniciar o daemon como outras pessoas já mencionadas:

 sudo rm /var/lib/mongodb/mongod.lock sudo -u mongodb mongod -f /etc/mongodb.conf --repair sudo service mongodb start 

Primeiro inicie o seu servidor mongo

 Users-MacBook-Pro:csv1 Admin$ mongod all output going to: /usr/local/var/log/mongodb/mongo.log 

Em seguida, abra outra janela de terminal e abra o shell

 Users-MacBook-Pro:csv1 Admin$ mongo 

Além disso, verifique se sua partição raiz tem espaço suficiente para iniciar o mongod.

 df -h / 

Você verá smth assim no lançamento do mongod:

 Mon Aug 12 17:02:59.159 [initandlisten] recover : no journal files present, no recovery needed Mon Aug 12 17:02:59.159 [initandlisten] Mon Aug 12 17:02:59.159 [initandlisten] ERROR: Insufficient free space for journal files Mon Aug 12 17:02:59.159 [initandlisten] Please make at least 3379MB available in /var/lib/mongodb/journal or use --smallfiles Mon Aug 12 17:02:59.159 [initandlisten] Mon Aug 12 17:02:59.159 [initandlisten] exception in initAndListen: 15926 Insufficient free space for journals, terminating Mon Aug 12 17:02:59.159 dbexit: Mon Aug 12 17:02:59.159 [initandlisten] shutdown: going to close listening sockets... 

No Ubuntu, tente isto:

 sudo invoke-rc.d mongodb start 

Pode ser uma combinação de $ PATH e emissão de permissão.

Tente seguir os passos abaixo:

Atualize sua variável $ PATH para apontar para o arquivo bin do MongoDB. No meu caso, prepare o MongoDB para esta pasta:

 /usr/local/Cellar/mongodb/2.4.6/ 

Para atualizar sua variável $ PATH, faça o seguinte:

 $ sudo vi /etc/paths 

Em seguida, pressione ‘i’ para inserir texto em Vi e append o caminho do seu MongoDB ao final do arquivo ‘paths’ e reiniciar o terminal.

 /usr/local/Cellar/mongodb/2.4.6/bin 

Use ‘Esc: w q’ para salvar e sair do editor Vi.

Use o echo para exibir sua variável de caminho:

 $ echo $PATH /usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/local/Cellar/mongodb/2.4.6/bin 

Agora tente verificar a versão do Mongo, se você seguir, então você está no caminho certo!

 $ mongo --version MongoDB shell version: 2.4.6 

Agora precisamos criar o diretório do database. Eu usei o local padrão ‘/ data / db’ sugerido nos documentos do MongoDB. Eu também criei um diretório de log para evitar quaisquer problemas de permissão, enquanto o Mongo tenta criar algum log. Altere a propriedade e isso fará o trabalho.

 $ sudo mkdir /data/db $ sudo mkdir /data/log $ whoami username $ chown -R username /data 

Agora, criaremos um arquivo de configuração padrão para o MongoDB para ser fornecido pela primeira vez em que executarmos o comando ‘mongod’. Agora, também gostaria de salientar que o ‘mongod’ iniciará um serviço, que escutará as conexões de dados recebidas. Isto é similar com ‘$ service mysqld start’ executado. Vamos seguir em frente e criar o arquivo de configuração. Por favor, tenha em mente que eu criei um arquivo de configuração muito básico. No entanto, você pode adicionar muitas outras variables ​​para configurar o MongoDB. Esta é a primeira vez que estou jogando com o MongoDB, então eu sei tanto quanto li em documentos do MongoDB! Eu criei o ‘mongodb.conf’.

 $ sudo vi /etc/mongodb.conf 

Adicione o seguinte:

 fork = true port = 27017 quiet = true dbpath = /data/db logpath = /data/log/mongod.log logappend = true journal = true 

Observe que a porta padrão do servidor MongoDB é 27017. Use seu próprio caminho para dbpath e logpath criado na Etapa – 5. Não esqueça de fechar e salvar o arquivo conf.

Agora estamos prontos para iniciar nosso serviço MongoDB. Abra duas instâncias do Terminal.No Terminal 1, digite:

 $ sudo mongod -f /etc/mongodb.conf about to fork child process, waiting until server is ready for connections. forked process: 3516 all output going to: /data/log/mongod.log child process started successfully, parent exiting 

Se você receber a mensagem acima, saiba que iniciou o serviço do Mongod com êxito.

Agora, para conectar-se a ele, no Terminal 2, digite:

 $mongo test MongoDB shell version: 2.4.6 connecting to: test Server has startup warnings: Tue Sep 3 16:55:43.527 [initandlisten] Tue Sep 3 16:55:43.527 [initandlisten] ** WARNING: soft rlimits too low. Number of files is 256, should be at least 1000 > 

Ignore os avisos, mas você está conectado com sucesso ao database ‘teste’! Legal!

Isso é tudo. Eu apliquei esta solução, quando tentei instalar a cópia do MongoDB no meu Mac pela primeira vez. Veja se isso também ajuda você.

Para postagem detalhada, você pode ir aqui – http://arcanebytes.com/2013/09/03/mongodb-installation-on-mac-os-x/#comment-1036112094 .

Espero que ajude!

Felicidades, Chinmay

Eu resolvi este problema no Ubuntu 12.04 seguindo os passos:
1) sudo rm / var / log / mongodb
2) sudo rm / var / lib / mongodb
3) eu removi o mongo e instalei novamente
4) serviço sudo mongodb restart

e tudo está bem