GNU/Linux >> Linux の 問題 >  >> Linux

初期セットアップ後に MongoDB サービスが開始されない

これについてしばらく調べてみたところ、pid フォルダーとファイルのアクセス許可がデフォルトのデーモンでは機能しないようです。

私が見つけた最も簡単な解決策は、構成ファイルの行の前に # を付けて pid ファイルを無効にすることです。

vi /etc/mongod.conf

pidfilepath=/var/run/mongodb/mongod.pid という行を見つけて、それに応じて変更してください。

# pidfilepath=/var/run/mongodb/mongod.pid

コメントアウトの内容については、こちらをご覧ください。http://docs.mongodb.org/manual/reference/configuration-options/#processManagement.pidFilePath


以下を使用して mongod をサービスとして開始する場合:

<ブロック引用>

sudo サービス mongod 開始

mongod.conf で logpath、dbpath、および pidfilepath に定義されたディレクトリが存在し、mongod:mongod によって所有されていることを確認してください。


私は同じ問題を抱えています。一時的に解決し、SELinux を無効にし、マシンを再起動し、mongod.lock を削除しました:

#rm /var/lib/mongo/mongod.lock

ファイル /var/run/mongodb/mongo.pid を作成する (構成ファイル /etc/mongod.conf に記載されているとおり):

#mkdir /var/run/mongodb
#touch /var/run/mongodb/mongod.pid

そして 777 パーミッションを与える:

#chmod 777 /var/run/mongodb/mongod.pid 

そしてmongoを開始:

#service mongod start

しかし、マシンを再起動しても問題は解決しません。フォルダとファイルが消えます。


Fedora 20でうまくいったこと:起動ごとに一時ディレクトリを作成する必要があり、それはsystemd-tmpfilesによって処理されます。したがって、ファイル /lib/tmpfiles.d/mongodb.conf を作成し、その中に 1 行を追加します:

d /var/run/mongodb 0755 mongod mongod

再起動時にそれを処理するようです。すぐに再起動したくない場合は、次のコマンドで実行できます:

sudo systemd-tmpfiles --create mongodb.conf

(systemd-tmpfiles の man ページを参照してください)


Linux
  1. Linux –プロセス開始後に/ proc / pid / environを変更しますか?

  2. Centos – Systemdは開始直後にサービスを終了しますか?

  3. インストール後にUbuntuがハードドライブから起動しませんか?

  1. Linux / OS Xでmongodサービスを開始する正しい方法は何ですか?

  2. systemctl は起動直後に Tomcat サービスを停止します

  3. プロセス開始後に /proc/PID/environ を変更する

  1. Systemdが開始直後にサービスを停止するのはなぜですか?

  2. Gimpが起動しない、Geglエラー?

  3. systemctl:コマンドが見つかりません