DEV Community

OKEKE CHIMA
OKEKE CHIMA

Posted on

EpicBook web app on AWS using a simple two-tier architecture

This week, I rolled up my sleeves and deployed the EpicBook web app on AWS using a simple two-tier architecture.

Architecture

Node.js app on Ubuntu EC2

MySQL on Amazon RDS

Nginx as reverse proxy + PM2 for persistence
Enter fullscreen mode Exit fullscreen mode

Steps I Took

Launched EC2 + RDS, tightened security groups (HTTP, SSH, MySQL).

Installed Node.js, npm, PM2, Nginx; cloned repo; configured .env.

Created epicbook DB in RDS, granted privileges, ran migrations.

Replaced default Nginx config → routed port 80 → 8080.
Enter fullscreen mode Exit fullscreen mode

The Gotchas

Passwords matter — the # in my DB password broke parsing until I quoted it.

MySQL barked with ERROR 1046 (3D000) — turns out you must create the DB before assigning privileges.
Enter fullscreen mode Exit fullscreen mode

Takeaway
This was more than just spinning up an app. Debugging under pressure taught me how tiny misconfigs (networking, creds, DB setup) can derail a deployment. Every blocker forced me deeper into AWS, Node.js, and MySQL internals

Top comments (0)