サーチ…


分離データベース(MONGO_URL)を使用したアプリケーションのデプロイ

アプリケーションレイヤーをデータベースレイヤーから分離する必要があります。これは、MONGO_URLを指定することを意味します。これは、バンドルコマンドでアプリケーションを実行し、解凍し、環境変数を設定してから、プロジェクトをノードアプリとして起動することを意味します。ここには...

#make sure you're running the node v0.10.21 or later
npm cache clean -f
npm install -g n
sudo n 0.10.21

# bundle the app
mkdir myapp
cd myapp 
git clone http://github.com/myaccount/myapp
meteor bundle --directory ../deployPath
cd ../deployPath

# make sure fibers is installed, as per the README
export MONGO_URL='mongodb://127.0.0.1:27017/mydatabase'
export PORT='3000'
export ROOT_URL='http://myapp.com'

# run the site
node main.js

レプリカセットの設定

次に、mongoシェルに入り、レプリカセットを開始します。

mongo

> rs.initiate()
PRIMARY> rs.add("mongo-a")
PRIMARY> rs.add("mongo-b")
PRIMARY> rs.add("mongo-c")
PRIMARY> rs.setReadPref('secondaryPreferred')

Oploggingを使用するようにレプリカセットを構成する

レプリカセットには、データベースにアクセスするためのoplogユーザーが必要です。

mongo

PRIMARY> use admin
PRIMARY> db.addUser({user:"oplogger",pwd:"YOUR_PASSWORD",roles:[],otherDBRoles:{local:["read"]}});
PRIMARY> show users

Oplog Upstart Script

起動スクリプトは、レプリカセットの複数のIPアドレスを使用するように変更する必要があります。

start on started mountall
stop on shutdown

respawn
respawn limit 99 5

script
    # our example assumes you're using a replica set and/or oplog integreation
    export MONGO_URL='mongodb://mongo-a:27017,mongo-b:27017,mongo-c:27017/meteor'

    # here we configure our OPLOG URL
    export MONGO_OPLOG_URL='mongodb://oplogger:YOUR_PASSWORD@mongo-a:27017,mongo-b:27017,mongo-c:27017/local?authSource=admin'

    # root_url and port are the other two important environment variables to set
    export ROOT_URL='http://myapp.mydomain.com'
    export PORT='80'

    exec /usr/local/bin/node /var/www/production/main.js >> /var/log/node.log 2>&1
end script

シャーディング

Sharded MongoのOplogテーリング



Modified text is an extract of the original Stack Overflow Documentation
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow