не удалось подключиться к серверу 127.0.0.1 shell / mongo.js - PullRequest
87 голосов
/ 20 апреля 2011

когда я настраиваю mongodb в моем Ubuntu, я пытаюсь: ./mongo показывает эту ошибку:

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

так что я могу сделать,

спасибо

Ответы [ 13 ]

124 голосов
/ 27 июля 2011
  • Вручную удалите файл блокировки: sudo rm /var/lib/mongodb/mongod.lock
  • Запустите сценарий восстановления: sudo -u mongodb mongod -f /etc/mongodb.conf --repair

Обратите внимание на следующее:

  • Вы должны запустить эту команду как пользователь mongodb.Если вы запустите его как root, то root будет иметь файлы в / var / lib / mongodb /, которые необходимы для запуска демона mongodb, и поэтому, когда демон пытается запустить его позже как пользователь mongodb, у него не будет разрешений на запуск.,В этом случае вы получите следующее сообщение об ошибке: Невозможно создать / открыть файл блокировки для lockfilepath: /var/lib/mongodb/mongod.lock errno: 13 Разрешение отклонено, прекращается.
  • В Ubuntu необходимо указатьфайл конфигурации /etc/mongodb.conf с использованием флага -f.В противном случае он будет искать файлы данных в неправильном месте, и вы увидите следующую ошибку: dbpath (/ data / db /) не существует, завершается.
32 голосов
/ 17 апреля 2013
sudo rm /var/lib/mongodb/mongod.lock   
sudo -u mongodb mongod -f /etc/mongodb.conf --repair 
sudo service mongodb start

Вот и все, иногда, для запуска монго после выполнения этих операций требуется некоторое время.

21 голосов
/ 08 августа 2012

Попытка запустить $ mongod

Если вы получаете ошибку, такую ​​как

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

Тогда вы столкнулись с довольно распространенной ошибкой при запуске.

По умолчанию mongod будет пытаться использовать / data / db для своих файлов базы данных, которых в данном случае не существует.

Вы не можете начать

mongo 

пока вы не справитесь

mongod.

Попробуйте создать эти каталоги и убедитесь, что они доступны для записи тому же пользователю, который запускает процесс mongod.

** См. Аналогичный вопрос-- При получении сообщения об ошибке «Ошибка: невозможно подключиться к серверу 127.0.0.1 shell / mongo.js» & при попытке запустить mongodb на Mac OSX Lion

20 голосов
/ 02 февраля 2012

На самом деле это не ошибка ... В данном случае Mongo использует демон для запуска локального сервера базы данных, поэтому для запуска mongo сервер в вашей оболочке, вы должны сначала запустить службу mongo .

Для Fedora Linux (который я использую в дистрибутиве) Вам нужно выполнить следующие команды:

1 sudo service mongod start
2 mongo

И вот оно у вас! сервер будет работать Теперь, если вы хотите сервис Монго Для запуска при загрузке системы необходимо выполнить:

sudo chkconfig --levels 235 mongod on

И это все! Если вы сделаете это, теперь в оболочке вам нужно просто набрать mongo по порядку чтобы запустить сервер, но это почти все, проблема в том, что сначала нужно запустить СЕРВИС, а затем СЕРВЕР:)

P.S. Команды, которые я выложил, могут работать и на других дистрибутивах Linux, а не только в Fedora ... В противном случае, возможно, вам придется настроить некоторые слова в зависимости от используемого вами дистрибутива;)

8 голосов
/ 31 июля 2014

У меня возникла такая же проблема, когда я пытался установить Монго. Я получил ошибку как,

Ошибка

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

Решение:

Сначала установите mongod, используя:

sudo apt-get install mongodb-server

Затем введите

mongod --dbpath /mongo/db

Тогда

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

Тогда

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

Спасибо

6 голосов
/ 12 мая 2012

Вам нужно удалить файл блокировки mongod.lock или /var/lib/mongodb/mongod.lock в Ubuntu, затем вам нужно сначала запустить mongod.exe или service mongodb start в Ubuntu, затем запустить mongo.exe или mongo в Ubuntu.

5 голосов
/ 09 ноября 2013

Сначала запустите ваш сервер монго с помощью

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

Затем откройте другое окно терминала и откройте оболочку

Users-MacBook-Pro:csv1 Admin$ mongo
5 голосов
/ 13 мая 2013

Сначала убедитесь, что все файлы и каталоги в вашей папке / var / lib / mongodb / (или на какую папку указывает dbpath) принадлежат пользователю mongodb и группе mongodb.

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

(Замените имя файла и каталог их соответствующими именами)

Затем вы можете снять блокировку, восстановить базу данных и перезапустить демон, как уже упоминали другие люди:

sudo rm /var/lib/mongodb/mongod.lock   
sudo -u mongodb mongod -f /etc/mongodb.conf --repair 
sudo service mongodb start
5 голосов
/ 20 апреля 2011

Либо ваш mongod не работает (проверьте с помощью команды "ps"), либо он прослушивает внешний IP-адрес, а не локальный. Поэтому сначала проверьте список процессов, если запущен «mongod». Если да, проверьте с помощью "netstat -nap" для связанного порта.

Конечно, вы можете запустить mongod на консоли вручную или даже заглянуть в лог-файл mongod. (если он настроен ... в зависимости от того, как вы установили mongod).

2 голосов
/ 22 сентября 2013

Также убедитесь, что в вашем корневом разделе достаточно места для запуска mongod.

df -h /

Вы увидите что-то подобное при запуске 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...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...