Aprende a crear una REST API usando Nodejs y Mongodb ademas de aprender a desplegarlo en producción usando un servidor privado virtual ademas de configurar el despleigue automatico usando Github Actions
Requeriments
- Bases en Nodejs
- Bases en Express
- Bases en Mongodb
Plataformas de Despliegue
- Digitalocean
- Hostinger
- AWS
ente otros.
Despliegue
Ve a Digitalocean y crea un VPS.
- create an account
connection to the server
using a password
- Go to your mail account
using ssh
ssh -i <file.pem> user@host
Add user
sudo apt update && sudo apt upgrade
adduser fazt usermod -aG sudo fazt
ssh -i fazt@IP
pass:
mkdir projects
cd projects
git clone
nvm https://github.com/nvm-sh/nvm nmv install --lts
Mongodb
https://docs.mongodb.com/manual/tutorial/install-mongodb-on-ubuntu/ sudo systemctl status mongodb sudo systemctl start mongodb
execute code with
yarn dev
add rule to clouding.io
firewall > add rul > tcp 3000 - 0.0.0.0
pm2
npm i pm2 -g pm2 list
pm2 run build pm2 dist/index.js --name api
add dns to namecheap
add dns to clouding io poiting to the ip
nginx redirect
vim /etc
server {
listen 80;
server_name fazt.xyz;
location / {
proxy_pass http://localhost:3000;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}
}
~
ln
certbot
guide
https://clouding.io/kb/es/articles/360009903900-FAQs-para-nuevos-usuarios-de-Clouding-io
resources
- https://www.cloudsavvyit.com/1795/how-to-add-your-ec2-pem-file-to-your-ssh-keychain/
- https://clouding.io/hc/es/articles/360009978820-Configuraci%C3%B3n-de-las-zonas-DNS-para-nuestro-servidor
- https://certbot.eff.org/lets-encrypt/ubuntufocal-nginx
Versiones anteriores
Primer version del video
En esta primer version se uso Nodejs con express, mongoose y babel, y fue desplegado en un VPS manualmente.