Câu trả lời:
Đó chỉ là thiếu một tệp dịch vụ cho systemd. Không cần quay lại để bắt đầu như Kartik đã làm hoặc sử dụng một kho lưu trữ khác với mô tả trong https://docs.mongodb.org/manual/installation/ .
Tạo một tệp /lib/systemd/system/mongodb.service
có nội dung sau:
[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...
/etc/mongod.conf
và không/etc/mongodb.conf
mongod
vì đây là những gì họ sử dụng trên trang web chính thức của họ. Vì vậy, mongodb.conf
nên mongod.conf
và tên tập tin nên là/lib/systemd/system/mongod.service
Lỗi này xảy ra do sự cố với Ubuntu mới (15 trở đi).
Hệ thống init mặc định là systemd đã được Upstart trước đó. Vì vậy, bạn cần cài đặt Upstart, khởi động lại hệ thống của bạn và ở đây bạn đi, bây giờ bạn có thể chạy dịch vụ mongodb.
sudo apt-get install upstart-sysv
sudo service mongod start
mongod start/running, process 3371
mongodb
Tôi đã sử dụng gói debian trong 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
Tôi đã có vấn đề tương tự sau khi nâng cấp lên 15.10.
Có thể có rất nhiều vấn đề nhưng tùy thuộc vào nguyên nhân gây ra sự cố của bạn, bạn có thể có được mongodb của mình chạy qua init.d:
sudo /etc/init.d/mongodb start
Điều đó làm việc cho tôi, nhưng không phải là một giải pháp lâu dài vì bạn cần chạy nó sau mỗi lần khởi động lại hoặc thêm nó vào các nhiệm vụ khởi động của bạn. Vì vậy, tôi đã làm theo như sau:
1) tạo tệp dịch vụ như được giải thích bởi 'sclausen'.
2) tải lại dịch vụ bằng cách chạy:
sudo systemctl daemon-reload
3) đã chạy sudo service mongodb start
4) Lệnh chạy mà không có đầu ra. Vì vậy, tôi đã kiểm tra bằng cách chạy mongo
và gặp lỗi ổ cắm:
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) Xem qua các bản ghi tail -n 50 /var/log/mongodb/
và tìm ra lỗi cơ bản:
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) đã xóa tệp ổ cắm có vấn đề: sudo rm /tmp/mongodb-27017.sock
như được đề xuất trên chuỗi này: /programming/29813648/fails-to-unlink-socket-file-error-in-mongodb-3-0
7) đang chạy dịch vụ: sudo service mongodb start
tại thời điểm đó tất cả đều tốt và Bob trở lại vị trí chính đáng của mình như chú tôi.
Trong trường hợp của tôi, tôi có Ubuntu 16.04.1, tôi đã cài đặt MongoDB 3.2.11 và tôi cũng gặp phải lỗi đó. Sau nhiều lần dọn dẹp và thử lại, cuối cùng nó cũng hoạt động "cho phép" dịch vụ:
systemctl enable mongod.service
Sau đó, nó chỉ hoạt động