Tech TutorBangla Web Documentation
Portfolio
HomeHTMLCSSTailwind CSSJavaScriptTypeScriptReactNext.jsNode.jsExpressSocket.IOExpoWordPressPostgreSQLPrismaPostgresNestJSMongoDBDockerTanStackTanStack TableRTK QueryGitGitHub
  • Node.js Documentation20টি অধ্যায়
প্রযুক্তি নির্বাচন
HomeHTMLCSSTailwind CSSJavaScriptTypeScriptReactNext.jsNode.jsExpressSocket.IOExpoWordPressPostgreSQLPrismaPostgresNestJSMongoDBDockerTanStackTanStack TableRTK QueryGitGitHub
  • Introduction
  • Installation
  • Modules
  • NPM
  • File System
  • Events
  • Streams
  • HTTP
  • Async Programming
  • Environment
  • Debugging
  • Express.js
  • API Development
  • Authentication
  • Database
  • Production
  • Advanced Node.js
  • Best Practices
  • Projects
  • Interview
  1. Docs
  2. Node.js
  3. Production Deployment & Optimization
Node.jsAdvanced

Production Deployment & Optimization

PM2, clustering, logging, rate limiting, security — production-এ Node.js app চালানো বাংলায়।

15টি অংশবাংলা ভাষায়

Process Manager (PM2)

PM2 production-এ Node.js process manage করার জন্য ব্যবহৃত হয়। এটি auto-restart, clustering, log management — সব করে।

# install
npm install -g pm2

# start app
pm2 start app.js

# start with name
pm2 start app.js --name "my-app"

# list all processes
pm2 list

# logs
pm2 logs

# restart
pm2 restart my-app

# stop
pm2 stop my-app

# cluster mode (CPU cores ব্যবহার)
pm2 start app.js -i max

Clustering

cluster.jsjavascript
javascript
const cluster = require("node:cluster");
const os = require("node:os");
const http = require("node:http");

if (cluster.isPrimary) {
  const numCPUs = os.cpus().length;
  console.log("Master process:", process.pid);
  console.log("Forking", numCPUs, "workers");

  for (let i = 0; i < numCPUs; i++) {
    cluster.fork();
  }

  cluster.on("exit", (worker) => {
    console.log("Worker", worker.process.pid, "died. Restarting...");
    cluster.fork();
  });
} else {
  http.createServer((req, res) => {
    res.end("Hello from worker " + process.pid);
  }).listen(3000);

  console.log("Worker", process.pid, "started");
}

Rate Limiting

npm install express-rate-limit
const rateLimit = require("express-rate-limit");

const limiter = rateLimit({
  windowMs: 15 * 60 * 1000, // 15 minutes
  max: 100, // per IP max 100 requests
  message: "অনেক বেশি request পাঠানো হয়েছে",
});

app.use("/api/", limiter);

Security Best Practices

npm install helmet cors
const helmet = require("helmet");
const cors = require("cors");

// Security headers
app.use(helmet());

// CORS
app.use(cors({
  origin: "https://myfrontend.com",
  methods: ["GET", "POST"],
}));

// Disable X-Powered-By
app.disable("x-powered-by");

Logging

npm install winston
const winston = require("winston");

const logger = winston.createLogger({
  level: "info",
  format: winston.format.combine(
    winston.format.timestamp(),
    winston.format.json()
  ),
  transports: [
    new winston.transports.File({ filename: "error.log", level: "error" }),
    new winston.transports.File({ filename: "combined.log" }),
  ],
});

logger.info("Server started");
logger.error("Database connection failed");
Production Checklist

Environment variables সেট করুন, Helmet ও CORS যোগ করুন, Rate limiting চালু করুন, PM2 দিয়ে process manage করুন, log file রাখুন।

শেষ প্যারায় নিজে practice করুন — কোড কপি করে নিজের এডিটরে চালিয়ে দেখুন।
আগেরNode.js Database IntegrationপরেরAdvanced Node.js
এই পেজে
Tech Tutor

বাংলায় ওয়েব ডেভেলপমেন্ট ডকুমেন্টেশন শিখুন — ধাপে ধাপে।

Homeসব ডকুমেন্টেশনQuick Startআমার নোটস

© 2026 Tech Tutor. বাংলায় শিখুন, বাংলায় গড়ুন।

mdanamolhasan1998@gmail.com