今回は「MongoDB を CentOS にインストールする方法」についてまとめます。
動作環境
今回は Linux も CentOS へ MongoDB をインストールする方法についてまとめます。 対象とする環境は以下のような環境です。
- CentOS 7
MongoDBをインストールする際に関係するフォルダやファイルは以下のような構成になっています。
/usr/bin ├mongo ├mongod ├mongos ... /etc └mongod.conf /var/lib/mongo ├ジャーナル、データファイルなど ... /var/log/mongodb └mongod.log
インストール
yum
を使ってインストールします。
-
リポジトリを追加
$ sudo vi /etc/yum.repo.d/mongodb-enterprise.repo
mongodb-enterprise.repo
[mongodb-enterprise] name=MongoDB Enterprise Repository baseurl=https://repo.mongodb.com/yum/redhat/$releasever/mongodb-enterprise/3.6/$basearch/ gpgcheck=1 enabled=1 gpgkey=https://www.mongodb.org/static/pgp/server-3.6.asc
-
MongoDB をインストール
$ sudo yum install -y mongodb-enterprise
-
再起動
$ shutdown -r now
初期設定
Windowsと違い、基本的にはデフォルトのままで問題ない設定になっています。 以下では一部設定を変更する場合を想定して、その修正方法を取り上げます。
データ保存ディレクトリ
MongoDB はデフォルトだと /data/db
にデータを保存します。
yum でインストールした場合、設定ファイル( mongod.conf )が生成され、/var/lib/mongo
へ保存されるよう設定されてるので、そもそもインストール完了時点でMongoDBのデフォルトとは異なる場所へデータが保存される設定になっています。
もしまったく異なる場所にデータを保存したいのであれば、該当フォルダを作成、権限変更をしたのち、設定ファイルを修正します。 フォルダ作成は以下のコマンドで実行します。 設定ファイルの修正は以下のように sorage.dbPath を設定します。
-
フォルダ作成
$ mkdir -p /usr/local/mongo/server/data $ chown -R mongod /usr/local/mongo $ chgrp -R mondog /usr/local/mongo
-
設定修正
/etc/mongod.conf
storage: dbPath: /usr/local/mongo/server/data
-
再起動
$ shutdown -r now
ポート開放
デフォルトだと MongoDB インスタンスへ外部からアクセスできないので、ポート開放してアクセスできるようにします。 MongoDB はデフォルトでだれでもアクセス可能な仕組みとなっているので、外部からアクセスできるようにする場合はあわせて MongoDB 自体のアクセス制御 も検討してください。
$ firewall-cmd --zone=public --add-port=27017/tcp --permanent
設定ファイル (mongod.conf)
yum でインストールした場合、デフォルトでは /etc/mongod.conf が作成されます。 このファイルへ必要な設定を追記することで設定変更が行えます。
デフォルトからあまり変更することもないですが…、ログ(systemLog)、データ保存先(storage)、ネットワーク(net) あたりを見直しておきます。
/etc/mongod.conf
systemLog: destination: file logAppend: true logRotate: "rename" path: /var/log/mongodb/mongod.log storage: dbPath: /var/lib/mongo/ net: port: 27017 bindIp: 127.0.0.1 bindIpAll: true
自動起動設定
yum でインストールした場合、デフォルトでは自動起動が有効化されています。 インストール後に再起動すれば自動で mongod が立ち上がっていると思います。
CentOS 7 で mongod サービスの設定確認、有効化、無効化は以下のコマンドで実行できます。 CentOS 7 は CentOS 6 からサービスの実行方法が変わったようで、コマンドも少し変わっているようです。
自動起動の確認
$ /usr/bin/systemctrl is-enabled mongod
自動起動の有効化
$ /usr/bin/systemctrl enable mongod
自動起動の無効化
$ /usr/bin/systemctrl disable mongod
動作確認
MongoDBの起動 (mongod)
基本的には起動時に自動実行されているので起動済みのハズですが、コマンド実行して起動する場合は以下のコマンドで起動します。
$ sudo service mongod start
MongoDBへ接続 (mongo)
MongoDB サーバー (mongod) が起動していれば mongo シェルで接続できます。 以下のコマンドで MongoDB へ接続、切断してみます。
接続
$ mongo
切断
MongoDB Enterprise > exit
MongoDBの終了 (mongod)
意図的にサービス終了する場合、以下のコマンドで終了できます。
$ sudo service mongod stop
今回は「MongoDB を CentOS にインストールする方法」についてまとめました。 参考になったでしょうか? 本記事がお役に立っていると嬉しいです!!
最後に… このブログに興味を持っていただけた方は、 ぜひ 「Facebookページ に いいね!」または 「Twitter の フォロー」 お願いします!!