sql >> Base de Datos >  >> NoSQL >> MongoDB

Implementación de una aplicación de nodo js que usa mongo db en aws

AWS es un poco más avanzado en lo que puede hacer con la configuración de sus servidores y aplicaciones, por lo que no es de extrañar que pueda resultar confuso. La mayoría de las veces, los documentos tampoco ayudan mucho. Amazon lo dirige a usar su RDS / nosql (DynamoDB). Puede agregar muchos tipos diferentes de bases de datos en el mercado de AMI, pero creo que son demasiado costosos e innecesarios.

Para lo siguiente, ssh into your EC2 instance ssh -i <your .pem key> [email protected] (debería verse similar a eso)

Para MongoDB en 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

Referencia:gist

Puedes ejecutar mongo en su sesión ssh actual para asegurarse de que se está ejecutando correctamente.