sql >> データベース >  >> NoSQL >> MongoDB

awsでmongodbを使用するノードjsアプリをデプロイする

    AWSは、サーバーとアプリケーションの構成でできることについてもう少し進んでいるため、混乱する可能性があるのも不思議ではありません。ほとんどの場合、ドキュメントはあまり役に立ちません。 Amazonは、RDS / nosql(DynamoDB)を使用するようにユーザーを誘導します。 AMIマーケットプレイスにはさまざまな種類のデータベースを追加できますが、これらは非常に高価で不要であることがわかりました。

    以下の場合、ssh into your EC2 instance ssh -i <your .pem key> [email protected] (それに似ているはずです)

    AWS上のMongoDBの場合:

    echo "[MongoDB]
    name=MongoDB Repository
    baseurl=http://downloads-distro.mongodb.org/repo/redhat/os/x86_64
    gpgcheck=0
    enabled=1" | sudo tee -a /etc/yum.repos.d/mongodb.repo
    
    sudo yum install -y mongodb-org-server mongodb-org-shell mongodb-org-tools
    
    sudo mkdir /data /log /journal
    
    //Mount partitions -- Find available ones for /data /log /journal
    sudo mkfs.ext4 /dev/xvdf
    sudo mkfs.ext4 /dev/xvdg
    sudo mkfs.ext4 /dev/xvdh
    
    echo '/dev/xvdf /data ext4 defaults,auto,noatime,noexec 0 0
    /dev/xvdg /journal ext4 defaults,auto,noatime,noexec 0 0
    /dev/xvdh /log ext4 defaults,auto,noatime,noexec 0 0' | sudo tee -a /etc/fstab
    
    sudo mount /data
    sudo mount /journal
    sudo mount /log
    
    sudo chown mongod:mongod /data /journal /log
    
    sudo ln -s /journal /data/journal
    
    nano /etc/mongod.conf
    //Change to 
    dbpath = /data
    logpath = /log/mongod.log
    
    sudo nano /etc/security/limits.conf
    * soft nofile 64000
    * hard nofile 64000
    * soft nproc 32000
    * hard nproc 32000
    
    sudo nano /etc/security/limits.d/90-nproc.conf
    * soft nproc 32000
    * hard nproc 32000
    
    sudo blockdev --setra 32 /dev/xvdf
    
    echo 'ACTION=="add", KERNEL=="xvdf", ATTR{bdi/read_ahead_kb}="16"' | sudo tee -a /etc/udev/rules.d/85-ebs.rules
    
    //Run persistent
    mongod --fork --logpath /var/log/mongodb/mongod.log
    

    参照:要点

    mongoを実行できます 現在のsshセッションで、正しく実行されていることを確認します。




    1. 条件付きのMongoDBプロジェクト配列ドキュメントサイズ

    2. MongoDbリージョナルレプリカセット-各リージョンのプライマリノード?

    3. mongodb3.x.xのWSO2DSSサポート

    4. 警告エラー:サーバーでメソッドを呼び出す場合、Meteorコードは常にファイバー内で実行する必要があります