PaaS (Render/Vercel) deploys with a git push — but knowing what happens on a raw server is the difference between using magic and understanding it.
SSH — the front door
ssh-keygen -t ed25519 # your keypair (once) ssh root@203.0.113.7 # log into the server scp app.zip root@203.0.113.7:~ # copy files up
Key-based login (public key on the server, private on your laptop) — the same mechanism as your GitHub SSH key.
Running a Node app that survives
# on the server: git clone https://github.com/you/api.git && cd api npm ci npm i -g pm2 pm2 start index.js --name api # keeps running after you log out pm2 startup && pm2 save # survives reboots pm2 logs api # live logs
nginx — the traffic director
server {
listen 80;
server_name api.mysite.com;
location / {
proxy_pass http://localhost:3000; # forward to your Node app
}
}
# then: certbot --nginx → free HTTPS in one commandHonest advice
For real projects, PaaS free tiers win on time. Rent a ₹300/month VPS once as education — nginx + PM2 + certbot by hand teaches more about "how the web works" than a month of tutorials. And "comfortable with Linux/SSH/nginx" on a fresher resume is rare enough to get questions — good ones.
← All Articles