sql >> Databasteknik >  >> NoSQL >> MongoDB

Distribuera en node js-app som använder mongo db på aws

AWS är lite mer avancerad i vad du kan göra med att konfigurera dina servrar och applikationer, så det är inte konstigt att det kan vara förvirrande. För det mesta gör inte läkarna mycket för att hjälpa heller. Amazon styr dig till att använda deras RDS / nosql (DynamoDB). Du kan lägga till många olika typer av databaser på AMI-marknaden, men jag tycker att dessa är alldeles för dyra och onödiga.

För följande, ssh into your EC2 instance ssh -i <your .pem key> [email protected] (ska se ut som det)

För MongoDB på 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

Referens:gist

Du kan köra mongo i din nuvarande ssh-session för att se till att den körs korrekt.




  1. Indexerar mongodb om om du ändrar fältet att det används i index?

  2. java spring MappingJacksonJsonView gör inte toString på mongodb ObjectId

  3. ServiceStack.Redis:Kan inte ansluta:sPort:50071

  4. MongoDbs $set-motsvarighet i dess java-drivrutin