2012-01-18 59 views
12

Nếu tôi cố gắng chạy shell MongoDB với lệnh mongo một mình, tôi nhận được:MongoDB không thể kết nối với localhost nhưng có thể kết nối với địa chỉ IP localhost của

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

ngoại lệ: kết nối thất bại

Tuy nhiên, nếu tôi quy định địa chỉ IP LAN của localhost như sau:

mongo 10.10.5.90 

... nó kết nối tốt.

Bất kỳ manh mối nào ??

+0

thể bạn ping 127.0.0.1? –

+1

vâng tôi có thể ping 127 và localhost – MFB

Trả lời

18

Bạn có cài đặt bind_ip trong mongodb.conf (hoặc tập lệnh khởi động) không? chỉnh sửa để rõ ràng Cài đặt bind_ip giới hạn IP sẽ chỉ nghe trên IP đó.

Xem phần IP Address Binding: http://www.mongodb.org/display/DOCS/Security+and+Authentication

Nếu không, bạn có bất kỳ quy tắc tường lửa ngăn chặn các truy cập localhost? Đó sẽ là loại kỳ lạ, nhưng tôi không thể nghĩ ra một lý do khác tại sao nó sẽ không hoạt động trong khi IP mạng LAN sẽ hoạt động.

+0

Dưới đây là mongodb.conf tôi: bind_ip = 10.10.5.90 cổng = 27.017 DBPATH =/data/db LogPath = /var/log/mongodb/mongodb.log logappend = true vvvv = true journal = true rest = true – MFB

+0

Đưa ra cài đặt bind_ip nếu bạn muốn có thể kết nối từ máy chủ cục bộ. Xem tài liệu tôi đã liên kết. –

+0

Wes, cảm ơn. Việc xóa cài đặt bind_ip đã khắc phục sự cố. – MFB

10

Lỗi này cũng có thể xuất hiện nếu mongodb không được tắt đúng cách. Nếu bạn nhập sudo start mongodb và nếu nó cung cấp một id quá trình mới trên mỗi lần thực hiện thì mongodb của bạn không được tắt đúng cách. Để giải quyết kiểu này

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

8

Chỉ cần làm theo tất cả các bước sau để giải quyết vấn đề này

Step 1: Remove lock file. 
sudo rm /var/lib/mongodb/mongod.lock 

Step 2: Repair mongodb. 
mongod --repair 

Step 3: start mongodb. 
sudo start mongodb 
or 
sudo service mongodb start 

Step 4: Check status of mongodb. 
sudo status mongodb 
or 
sudo service mongodb status 

Step 5: Start mongo console. 
mongo 
+0

tên dịch vụ cho mongodb trong ubuntu là mongod không mongodb – GeekAb

Các vấn đề liên quan