Ubuntu 18.04 LTS
私はでVPS を所有しておりMongodb
、3 日前まではスクリプトは正常に動作していましたが、突然ホスティング サーバーが再起動され (ホスティング会社から購入しました)、サーバーが再起動したときに、Web サイトが動作せず、データベースに接続できないことがわかりました。結果は次のとおりsystemctl status mongod
です。
mongod.service - MongoDB Database Server
Loaded: loaded (/lib/systemd/system/mongod.service; enabled; vendor preset: enabled)
Active: failed (Result: exit-code) since Thu 2020-10-29 22:47:35 +0330; 17h ago
Docs: https://docs.mongodb.org/manual
Process: 2800 ExecStart=/usr/bin/mongod --config /etc/mongod.conf (code=exited, status=14)
Main PID: 2800 (code=exited, status=14)
Oct 29 22:47:35 MYHOSTNAME systemd[1]: Started MongoDB Database Server.
Oct 29 22:47:35 MYHOSTNAME systemd[1]: mongod.service: Main process exited, code=exited, status=14/n/a
Oct 29 22:47:35 MYHOSTNAME systemd[1]: mongod.service: Failed with result 'exit-code'.
サービスを再開しても何も起こりません。確認したところ/var/log/mongodb/mongod.log
、ログは次のようになりました:
2020-10-30T15:53:39.251+0330 I REPL [signalProcessingThread] Stepping down the ReplicationCoordinator for shutdown, waitTime: 10000ms
2020-10-30T15:53:39.458+0330 I CONTROL [signalProcessingThread] Shutting down the LogicalSessionCache
2020-10-30T15:53:39.460+0330 I NETWORK [signalProcessingThread] shutdown: going to close listening sockets...
2020-10-30T15:53:39.460+0330 I NETWORK [signalProcessingThread] removing socket file: /tmp/mongodb-27017.sock
2020-10-30T15:53:39.461+0330 I NETWORK [signalProcessingThread] Shutting down the global connection pool
2020-10-30T15:53:39.461+0330 I STORAGE [signalProcessingThread] Shutting down the PeriodicThreadToAbortExpiredTransactions
2020-10-30T15:53:39.462+0330 I REPL [signalProcessingThread] Shutting down the ReplicationCoordinator
2020-10-30T15:53:39.462+0330 I SHARDING [signalProcessingThread] Shutting down the ShardingInitializationMongoD
2020-10-30T15:53:39.463+0330 I COMMAND [signalProcessingThread] Killing all open transactions
2020-10-30T15:53:39.463+0330 I - [signalProcessingThread] Killing all operations for shutdown
2020-10-30T15:53:39.463+0330 I NETWORK [signalProcessingThread] Shutting down the ReplicaSetMonitor
2020-10-30T15:53:39.463+0330 I CONTROL [signalProcessingThread] Shutting down free monitoring
2020-10-30T15:53:39.464+0330 I CONTROL [signalProcessingThread] Shutting down free monitoring
2020-10-30T15:53:39.466+0330 I FTDC [signalProcessingThread] Shutting down full-time data capture
2020-10-30T15:53:39.466+0330 I FTDC [signalProcessingThread] Shutting down full-time diagnostic data capture
2020-10-30T15:53:39.470+0330 I STORAGE [signalProcessingThread] Shutting down the HealthLog
2020-10-30T15:53:39.471+0330 I STORAGE [signalProcessingThread] Shutting down the storage engine
2020-10-30T15:53:39.472+0330 I STORAGE [signalProcessingThread] WiredTigerKVEngine shutting down
2020-10-30T15:53:39.472+0330 I STORAGE [signalProcessingThread] Shutting down session sweeper thread
2020-10-30T15:53:39.472+0330 I STORAGE [signalProcessingThread] Finished shutting down session sweeper thread
2020-10-30T15:53:39.648+0330 I STORAGE [signalProcessingThread] shutdown: removing fs lock...
2020-10-30T15:53:39.648+0330 I - [signalProcessingThread] Dropping the scope cache for shutdown
2020-10-30T15:53:39.648+0330 I CONTROL [signalProcessingThread] now exiting
2020-10-30T15:53:39.648+0330 I CONTROL [signalProcessingThread] shutting down with code:0
実行したtelnet localhost 27017
ところ、正常に動作し、接続されました (リモート接続の場合は閉じられています)。
手動で削除し/tmp/mongodb-27017.sock
、/var/log/mongodb
との所有権を確認しました/var/lib/mongodb
が、すべて正しいです。また、突然の再起動中に所有権が間違っていた場合に修正するために、両方のフォルダーで実行しましたchown -R mongodb:mongodb
が、何も機能しませんでした。
ちなみに、/usr/bin/mongod --config /etc/mongod.conf
コマンドを実行すると、Web サイトが実行され、ユーザー アカウントにログインできるようになります。現在、screen
Web サイトを実行するためにこれを行っていますが、問題を見つけて修正する方法がわかりません。
MongoDB の何が問題なのか、またそれを修正するにはどうすればよいのか調べるのを手伝ってもらえませんか? また、nginx -t
テスト構成ファイルのように、同様のコマンドはありますか? 読んでみましたman mongod
が、何も見つかりませんでした。
/etc/mongodb.conf
内容を追加して編集しました:
# mongod.conf
# for documentation of all options, see:
# http://docs.mongodb.org/manual/reference/configuration-options/
# Where and how to store data.
storage:
dbPath: /var/lib/mongodb
journal:
enabled: true
# engine:
# mmapv1:
# wiredTiger:
# where to write logging data.
systemLog:
destination: file
logAppend: true
path: /var/log/mongodb/mongod.log
# network interfaces
net:
port: 27017
bindIp: 127.0.0.1
# how the process runs
processManagement:
timeZoneInfo: /usr/share/zoneinfo
security:
authorization: enabled
#operationProfiling:
#replication:
#sharding:
## Enterprise-Only Options:
#auditLog:
#snmp:
ベストアンサー1
これを試してみてください。私の場合はうまくいきました:
sudo chown -R mongodb:mongodb /var/lib/mongodb
sudo chown mongodb:mongodb /tmp/mongodb-27017.sock
sudo service mongod restart