MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Déploiement d'une application node js qui utilise mongo db sur aws

AWS est un peu plus avancé dans ce que vous pouvez faire avec la configuration de vos serveurs et applications, il n'est donc pas étonnant que cela puisse prêter à confusion. La plupart du temps, les docs ne font pas grand-chose non plus. Amazon vous conseille d'utiliser leur RDS/nosql (DynamoDB). Vous pouvez ajouter de nombreux types de bases de données sur le marché AMI, mais je les trouve beaucoup trop chères et inutiles.

Pour ce qui suit, ssh into your EC2 instance ssh -i <your .pem key> [email protected] (devrait ressembler à ça)

Pour MongoDB sur AWS :

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

Référence :essentiel

Vous pouvez exécuter mongo dans votre session ssh actuelle pour vous assurer qu'elle fonctionne correctement.