MongoDBのデフォルトポートを変更する
mongodbのデフォルトポートは27017です。
これを仕様上変更したい場合もあればセキュリティ強化のためポート番号を変えたいときがあるでしょう。
今回はその説明をいたします。
まずは環境チェック
毎度おなじみの環境確認からしていきます。
$ mongod --version
db version v2.6.10
2019-04-29T07:00:25.356+0000 git version: nogitversion
2019-04-29T07:00:25.356+0000 OpenSSL version: OpenSSL 1.0.2g 1 Mar 2016
$ cat /etc/os-release
NAME="Ubuntu"
VERSION="16.04.6 LTS (Xenial Xerus)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 16.04.6 LTS"
VERSION_ID="16.04"
HOME_URL="http://www.ubuntu.com/"
SUPPORT_URL="http://help.ubuntu.com/"
BUG_REPORT_URL="http://bugs.launchpad.net/ubuntu/"
VERSION_CODENAME=xenial
UBUNTU_CODENAME=xenial
mongodbのconfigファイルを変更する
mongodbには設定ファイルが存在しています。当たり前ですが(^_^;
そこを書きかえて再起動するだけの簡単な作業です。
$ sudo nano /etc/mongodb.conf
nanoはテキストエディタです。viでもvimでも構いません。
# mongodb.conf # Where to store the data. dbpath=/var/lib/mongodb #where to log logpath=/var/log/mongodb/mongodb.log logappend=true bind_ip = 0.0.0.0 #port = 27017 # Enable journaling, http://www.mongodb.org/display/DOCS/Journaling journal=true # Enables periodic logging of CPU utilization and I/O wait #cpu = true # Turn on/off security. Off is currently the default #noauth = true #auth = true # Verbose logging output. #verbose = true
一部だけ記載しますが、こんな感じに書かれています。
# Where to store the data. dbpath=/var/lib/mongodb #where to log logpath=/var/log/mongodb/mongodb.log logappend=true bind_ip = 0.0.0.0 #port = 27017
このコメントアウトされている#port = 27017のコメントを外して任意のport番号に変更するだけです。
例えば
port = 22222
などにしてみましょう。
他のアプリケーションが使っているポートと競合しないように注意してください。
MongoDBを再起動する
後はmongodbを再起動して終わりです。
$ sudo service mongodb restart
アクセスしてみる
$ mongo
MongoDB shell version: 2.6.10
connecting to: test
2019-04-29T07:44:40.625+0000 warning: Failed to connect to 127.0.0.1:27017, reason: errno:111 Connection refused
2019-04-29T07:44:40.626+0000 Error: couldn't connect to server 127.0.0.1:27017 (127.0.0.1), connection attempt failed at src/mongo/shell/mongo.js:146
exception: connect failed
ちゃんと断られました。
$ mongo --port 22222
MongoDB shell version: 2.6.10
connecting to: 127.0.0.1:22222/test
うまくアクセス出来ましたね。
説明は以上です。1度試して見て下さい(・ω・)