Skip to Content
Go Realm v1 is released 🎉
DevOpsNginxমডিউল ১: Nginx Foundation

মডিউল ১: Nginx Foundation

সময়: ৩০ মিনিট

শেখার লক্ষ্য

বুঝবেএক লাইনে
Nginx কীweb server + reverse proxy (app server নয়)
কোথায় বসেbrowser আর backend app-এর মাঝখানে
কেন দরকারdomain, SSL, routing, static — সব এক জায়গায়
Stack-এ roleLaravel/Go/Next.js — প্রতিটিতে front layer

Nginx আসলে কী?

Nginx-এর ৪টি hat:

┌──────────────────────────────┐ │ NGINX │ ├──────────────────────────────┤ │ 1. Web server (static file)│ │ 2. Reverse proxy (→ backend) │ │ 3. Load balancer (→ many app)│ │ 4. SSL/TLS edge (HTTPS) │ └──────────────────────────────┘

এক বাক্যে: Nginx public internet traffic receive করে সঠিক app-এর কাছে পাঠায়।


Mental Model: একটি Request-এর জীবন

Browser │ https://api.example.com/users DNS ──────────────▶ VPS IP (যেমন 203.0.113.10) NGINX (:80 / :443) │ ├─ domain দেখে: কোন app? │ ├─ static file? ──▶ নিজেই serve করে ──┐ │ └─ dynamic? ──▶ backend app-এ forward │ ▼ │ Application ──▶ response ──▶ NGINX ──────────┴──▶ Browser
Nginx-এর কাজকীভাবে
port listen80 (HTTP) / 443 (HTTPS)
কোন app?server_name (domain) দেখে
static থাকলেনিজেই serve করে (fast)
dynamic হলেapp server-এ forward করে

Nginx বনাম Application Server

বিষয়NginxApplication Server
মূল কাজrequest receive ও routebusiness logic চালানো
public-facing?✅ হ্যাঁ❌ সাধারণত না
static file🚀 খুব efficient🐢 ভালো choice না
domain / SSL✅ handle করে❌ Nginx-এর পেছনে থাকে
উদাহরণnginxPHP-FPM, Go binary, Node

তোমার Stack-এ Nginx কীভাবে Fit করে?

Laravel : Client ──▶ Nginx ──▶ PHP-FPM ──▶ Laravel Go API : Client ──▶ Nginx ──▶ Go app (:8080) Next.js : Client ──▶ Nginx ──▶ Next.js (:3000)
StackNginx-এর পরে কীকেন Nginx সামনে
LaravelPHP-FPMpublic/ serve + .php execute
Go APIGo HTTP serverSSL, domain, header, rate-limit
Next.jsNode processSSL, domain, static edge caching

Laravel ছাড়া — Go আর Next.js নিজেরাই HTTP server চালায়। তবু Nginx সামনে রাখা হয় edge concern (SSL/domain/header) সামলানোর জন্য।


App তো নিজেই port-এ চলে — তাহলে Nginx কেন?

কারণ production শুধু “app চালানো” না। নিচের সব এক জায়গায় লাগে:

ConcernNginx ছাড়াNginx দিয়ে
Domain mappingraw IP:port exposeserver_name দিয়ে clean
SSL/HTTPSপ্রতি app-এ আলাদাএক জায়গায় terminate
Multiple app / VPSport conflictএক port, many domain
HTTP→HTTPS redirectapp-এ hackreturn 301 এক লাইন
Body limit / bufferingapp-এর দায়িত্বNginx সামলায়
Loggingscatteredcentral access/error log

Basic Terms (Cheat Sheet)

Termমানে
clientbrowser, mobile app, frontend
upstreamযে backend-এ request পাঠানো হয়
reverse proxyclient-এর হয়ে backend-এর সাথে কথা বলা
static fileCSS, JS, image, PDF — code চালানো লাগে না
dynamic requestbackend code execute করতে হবে

Common Mistake

❌ “Nginx install করলেই app deploy হয়ে গেছে।”

আসলে Nginx শুধু entry gate। এগুলো আলাদা concern:

Nginx ≠ App process ≠ PHP-FPM ≠ systemd ≠ .env ≠ build ≠ database

Understanding Check

  1. Nginx আর app server-এর কাজের মূল পার্থক্য কী?
  2. Laravel flow-তে PHP-FPM কোথায় বসে?
  3. Go app :8080-এ চললেও Nginx সামনে রাখার production reason কী?
  4. Static file serve-এ Nginx কেন efficient?
  5. একই VPS-এ multiple domain app চালাতে Nginx কীভাবে help করে?

Mini Task

নিজের ভাষায় ৫ লাইনে লিখো:

  • Client → Nginx → App flow টা কী
  • Laravel, Go, Next.js-এর মধ্যে কোনটায় PHP-FPM layer আছে, আর কোনটায় Nginx directly app-এ proxy করে

➡️ পরের ধাপ: মডিউল ২: Core Configuration