I’ve configured NGINX manually more times than I can count.
Every server setup usually turns into the same repetitive process:
- install nginx
- configure virtual hosts
- set up reverse proxies
- issue SSL certificates
- debug broken configs
- reload nginx carefully
- pray
nginx -tsucceeds
And for beginners, it gets worse fast.
Different Linux distros store configs differently.
Certbot behaves differently depending on packages.
One typo can break production.
Rollback is usually manual.
So instead of repeating the same setup process forever, I built EasyNGINX.
An automation-focused CLI that makes NGINX setup simpler, safer, and much faster across Linux distributions.
What It Does
EasyNGINX turns common NGINX operations into simple commands.
For example:
sudo easynginx create
That single command can:
- generate reverse proxy configs
- configure SSL automatically
- validate configs before reload
- open firewall ports
- enable HTTPS
- rollback safely if validation fails
Designed for Real Servers
One thing I specifically wanted to avoid was unsafe automation.
Every operation follows this workflow:
Snapshot → Write → nginx -t → Reload
If anything fails:
- configs rollback automatically
- nginx stays online
- backups remain available
So the goal wasn't just convenience — it was reducing risk.
Supported Use Cases
EasyNGINX currently supports:
- reverse proxies
- static hosting
- PHP-FPM
- WebSockets
- redirects
- load balancing
- SSL certificate management
- backups & restore
- security hardening
- monitoring utilities
It also works across multiple Linux distributions including:
- Ubuntu
- Debian
- Fedora
- RHEL
- Rocky Linux
- AlmaLinux
- Arch Linux
Example Workflow
Fresh VPS setup:
curl -fsSL https://raw.githubusercontent.com/nerkoux/EasyNGINX/main/install.sh | sudo bash
Then:
sudo easynginx create
Answer a few prompts:
Domain: api.example.com
Type: Reverse Proxy
Backend: http://127.0.0.1:3000
Enable SSL: Yes
And the site is live with HTTPS configured automatically.
Features I Personally Wanted
Some features were built specifically because I was tired of missing them in other tooling.
Automatic Rollback
Broken configs revert automatically.
Backup & Restore
sudo easynginx backup
sudo easynginx restore
Useful for migrations and recovery.
Security Features
Includes support for:
- HSTS
- fail2ban
- ModSecurity
- TLS profiles
- bot blocking
Cluster Deployments
Deploy configurations across multiple servers with rollback support per host.
Tech Stack
Built using:
- Python
- Bash
- NGINX
- Certbot
Documentation is powered by Docusaurus and deployed using Vercel.
Open Source
GitHub:
https://github.com/nerkoux/EasyNGINX
Docs:
https://easynginx.akshatmehta.com
Feedback, ideas, and contributors are always welcome.
Top comments (0)