Respostas:
É apenas a falta de um arquivo de serviço para o systemd. Não é necessário voltar ao início, como o Kartik, ou usar um repositório diferente do descrito em https://docs.mongodb.org/manual/installation/ .
Crie um arquivo /lib/systemd/system/mongodb.service
com o seguinte conteúdo:
[Unit]
Description=High-performance, schema-free document-oriented database
After=network.target
[Service]
User=mongodb
ExecStart=/usr/bin/mongod --quiet --config /etc/mongodb.conf
[Install]
WantedBy=multi-user.target
sudo service...
estava silenciosamente falhando por causa de problemas de permissão
/etc/mongod.conf
e não/etc/mongodb.conf
mongod
porque é isso que eles usam em seu site oficial. Assim mongodb.conf
deve ser mongod.conf
e o nome do arquivo deve ser/lib/systemd/system/mongod.service
Este erro ocorreu devido ao problema com o novo Ubuntu (15 em diante).
O sistema init padrão é o systemd que era o Upstart anteriormente. Então você precisa instalar o Upstart, reiniciar o sistema e aqui está, agora você pode executar o serviço mongodb.
sudo apt-get install upstart-sysv
sudo service mongod start
mongod start/running, process 3371
mongodb
Eu usei o pacote debian no ubuntu 15.10
echo "deb http://repo.mongodb.org/apt/debian wheezy/mongodb-org/3.0 main" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.0.list
sudo apt-get update
sudo apt-get install -y mongodb-org
Eu tive problemas semelhantes depois de atualizar para a 15.10.
Pode haver muitos problemas, mas dependendo do que causou o seu problema, você poderá obter o mongodb executando o init.d:
sudo /etc/init.d/mongodb start
Isso funcionou para mim, mas não é uma solução de longo prazo, pois você precisa executá-la após cada reinicialização ou adicioná-la às tarefas de inicialização. Então eu segui o seguinte:
1) criando o arquivo de serviço, conforme explicado por 'sclausen'.
2) recarregue o serviço executando:
sudo systemctl daemon-reload
3) correu sudo service mongodb start
4) O comando foi executado sem saída. Então, testei executando mongo
e recebi um erro de soquete:
Error: connect ECONNREFUSED 127.0.0.1:27017
at Object.exports._errnoException (util.js:870:11)
at exports._exceptionWithHostPort (util.js:893:20)
at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1062:14)
5) Examinou os logs tail -n 50 /var/log/mongodb/
e descobriu o erro subjacente:
2016-02-26T14:28:23.538+1100 E NETWORK [initandlisten] Failed to unlink socket file /tmp/mongodb-27017.sock errno:1 Operation not permitted
6) excluiu o arquivo de soquete problemático: sudo rm /tmp/mongodb-27017.sock
conforme sugerido neste segmento: /programming/29813648/failed-to-unlink-socket-file-error-in-mongodb-3-0
7) executou novamente o serviço: sudo service mongodb start
naquele momento tudo estava bem e Bob voltou à sua posição de direito como meu tio.
No meu caso, eu tenho o Ubuntu 16.04.1, estava instalando o MongoDB 3.2.11 e estava recebendo o mesmo erro. Após várias limpezas e novas tentativas, finalmente funcionou "habilitando" o serviço:
systemctl enable mongod.service
Então apenas funcionou