Aliクラウドサーバーにmongodbを導入する詳細な流れ
Aliクラウドでサーバーを購入し、mongodbをデプロイしたところ、いくつかの落とし穴に遭遇し、その解決策をネットから集めたので、その断片的な記録をまとめてみました。
サーバーは Alibaba Cloud Linuxです。
ダウンロードとインストール
mongodbの公式サイトはダウンロードが遅すぎるため、以下のAliミラーからインストールします。 Ali MongoDb ミラー
yumでインストールする
mongodb-org.repoファイルを/etc/yum.repos.dディレクトリに追加します。
cd /etc/yum.repos.d
vim mongodb-org.repo
[mogodb-org]
name=MongoDB Repository
baseurl=http://mirrors.aliyun.com/mongodb/yum/redhat/7Server/mongodb-org/4.0/x86_64/
gpgcheck=0
enabled=1
vimコマンド:は、(新規)ファイルを編集するためのコマンドで、編集を終了する際に
esc
を入力し、次に
:wq
ファイルを終了してください。linuxのコマンドに不慣れな方は、Xftpなどを使って直接アップロードすることも可能です。
baseurlを使用します。Aliミラーで
to download the address
その後、選択されたバージョンのmongodbによってリンク先が異なりますが、それ以外は変更する必要はありません。
yumでインストールする
yum -y install mongodb-org
yum: 上記で追加した .repo ファイルの baseurl アドレスからパッケージをダウンロードするための linux コマンドです。
-y
は、インストール時の確認作業を省くためです。
設定方法
インストールが完了したら、mongodbを設定するための設定ファイルを見つけてください。
rpm -qla | grep mongod.conf
設定ファイルの修正
vim /etc/mongod.conf
# mongod.conf
systemLog:
destination: file
logAppend: true
path: /var/log/mongodb/mongod.log # Log file directory
# Where and how to store data.
storage:
dbPath: /var/lib/mongo # Data directory
journal:
enabled: true
# engine:
# mmapv1:
# wiredTiger:
# how the process runs
processManagement:
fork: true # fork and run in background
pidFilePath: /var/run/mongodb/mongod.pid # location of pidfile
timeZoneInfo: /usr/share/zoneinfo
# network interfaces
net:
port: 27017 # port
# modify ip
bindIp: 0.0.0.0 # Default here is 127.0.0.1, change to 0.0.0.0
主な変更点:bindIp 値を 0.0.0.0 に変更し、外部ネットワークからアクセスできるようにしました。
linuxのコマンドに慣れていない場合は、Xftpツールで直接ファイルを選択し、右クリックで編集することができます
実行する
で
/etc/init.d
フォルダーにブートスクリプトを追加します。
mongod
cd /etc/init.d
vim mongod
EXEC=/usr/bin/mongod
CONF=/etc/mongod.conf
LOCKFILE=/var/lock/subsys/mongod
RETVAL=0
case "$1" in
start)
echo -n $"Starting mongod: "
$EXEC -f $CONF
RETVAL=$?
echo
[ $RETVAL -eq 0 ] && touch $LOCKFILE
;;
stop)
echo -n $"Stopping mongod: "
$EXEC -f $CONF --shutdown
RETVAL=$?
echo
[ $RETVAL -eq 0 ] && rm -f $LOCKFILE
;;
restart)
${0} stop
${0} start
;;
*)
echo "Usage: /etc/init.d/mongod {start|stop|restart}" >&2
exit 1
esac
# Get file permissions
chmod +x /etc/init.d/mongodb
実行権限
service mongod start
スタート
service mongod stop
停止
service mongod restart
再スタート
# Stop the service
service mongod stop
# Remove the installed packages
yum erase $(rpm -qa | grep mongodb-org)
# Delete data and logs
rm -rf /var/log/mongodb
rm -rf /var/lib/mongo
アンインストール
/etc/mongod.conf
を確認する
オープンポート
mongodbのデフォルトのポートは27017で、これは設定ファイル
# View the processes of mongodb
ps aux | grep mongod
#Shut down the process based on the result of the pid query
kill -9 pid
を確認することができます。
AliCloudバックエンドでは、ファイアウォールによってポートが開放されています。
ブラウザアクセス
ip:27017 アクセス
トラブルシューティング
異常終了時にプロセスを手動でシャットダウンする
システムの異常終了により、起動に失敗した場合、終了しないプロセスがある可能性があります。
/etc/mongod.conf
mongod.lockとdiagnostic.dataのファイルが削除されます。
セルフスタートの失敗
mongodbが勝手に起動した場合は、設定ファイル
/etc/mongod.conf
をクリックして、fork 設定がオンになっているかどうかを確認します。
参考
CentOS7 mongodb4.0をAli Mirrorでインストールする。
mongodb 起動例外
今回はAliクラウドサーバーにmongodbを導入する詳細な手順について紹介しましたが、Aliクラウドサーバーにmongodbを導入する詳細については、Script Houseの過去記事を検索するか、以下の関連記事を引き続き閲覧してください。
関連
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン