Menu

HomeAboutProjectsServicesBlogsContact
← Back to blogs

A Beginner’s Guide to Deploying on Hostinger VPS

6/25/2026

VPS deployment শুরুতে complex মনে হলেও আসলে এটা শুধু অন্য একটা computer-এ project run করা। Conceptটা একবার clear হয়ে গেলে পুরো processটা surprisingly simple লাগে। আর তখনই বোঝা যায়, deployment কোনো rocket science না।

আজকে আমি যেই জিনিসটা শেয়ার করবো এটা নিয়ে প্রথমে কাজ করতে গিয়ে আমার কাছেও একটু confusing মনে হইছিল — VPS-এ project deploy করা। অনেকেই মনে করে এটা খুব complex কিছু, কিন্তু honestly বললে, concept টা clear হয়ে গেলে এটা just আরেকটা computer-এ কাজ করার মতোই simple।

আমাদের নিজের computer-এর behavior

আমরা আগে বুঝি আমরা নিজের computer-এ কী করি। যখন আমরা কোনো project run করি, তখন আসলে আমরা একটা server চালাই যেটা একটা specific IP এবং port-এ listen করে। আমাদের ক্ষেত্রে IP usually থাকে localhost, যেটা আসলে আমাদের নিজের machine-ই, আর port হতে পারে 3000, 5173, 8000 — যেটা আমরা চাই। তাই browser-এ আমরা যখন http://localhost:3000 লিখি, তখন আসলে আমরা নিজের computer-এই running application-এ request পাঠাচ্ছি।

এখন VPS আসলে কী?

VPS হচ্ছে একটা remote computer, যেটা cloud-এ থাকে। পার্থক্য শুধু এটুকুই যে আমাদের নিজের PC physical, আর VPS হচ্ছে internet-এ থাকা একটা machine। কিন্তু behaviour বা কাজ করার ধরণ একদম same। এইটা বুঝে ফেললেই deployment অনেক সহজ মনে হবে।

প্রথম step হচ্ছে VPS-এ login করা। সাধারণত আমরা SSH ব্যবহার করে login করি, যেমন ssh root@your-vps-ip। password দেওয়ার পর essentially ওই remote computer-টার ভেতরে ঢুকা যায়। এরপর যা যা আমরা নিজের machine-এ করি, একই জিনিস এখানেও করতে হবে।

যেমন, project run করার জন্য যেসব tools দরকার — Node.js, pnpm বা npm, git — এগুলো install করতে হবে। কারণ VPS একটা fresh machine, সেখানে কিছুই pre-installed থাকে না । tools install হয়ে গেলে next step হচ্ছে project নিয়ে আসা।

Project Setup এবং Run করা

এখানেই আসে git clone। GitHub বা repo থেকে project clone করা, folder-এর ভেতরে ঢুকে, dependencies install করা(pnpm install বা npm install), তারপর project run করা(pnpm run dev)। এই stage-এ এসে যদি browser-এ VPS-এর IP এবং port দিয়ে access করা হয়, যেমন http://your-vps-ip:3000, তাহলে দেখা যাবে project ঠিকই চলছে। এই point-এ deployment technically হয়ে গেছে — কিন্তু এটা production-ready না।

কারণ বড় সমস্যা হচ্ছে, যদি terminal বন্ধ করে দেওয়া হয়, project-ও বন্ধ হয়ে যাবে। তাই production environment-এ আমরা কখনো direct npm run dev দিয়ে app চালিয়ে রাখি না। এখানেই আসে PM2-এর মতো process manager।

PM2 দিয়ে Process Management

PM2 ব্যবহার করলে app-টাকে background-এ run করানো যাবে। একবার pm2 start দিয়ে চালু করলে terminal বন্ধ হলেও app চলতেই থাকবে। এমনকি server restart হলেও সহজে আবার চালু করা যাবে। এই step টা deployment-এর একটা key part।

এখন next question আসে — IP:PORT দিয়ে তো access করা যাচ্ছে, কিন্তু domain দিয়ে কিভাবে? এখানে আমরা DNS ব্যবহার করি। আপনি যেখানে থেকে domain কিনেছেন (Hostinger বা Namecheap), সেখানে গিয়ে A record সেট করে domain-টাকে VPS-এর IP-এর সাথে connect করতে হবে। তখন domain basically ওই IP-কে point করবে।

Nginx Reverse Proxy

এখন mydomain.com লিখলেই আমাদের app এর ip:port এ redirect হবে মানে domain লিখলে সরাসরি আমাদের app open হবে এটা কিভাবে করবো। এখানেই nginx কাজ করে। nginx একটা reverse proxy হিসেবে কাজ করে, যেটা incoming request-কে ধরে নিয়ে আমাদের app-এর port-এ forward করে দেয়।

nginx setup করার পর domain সরাসরি আমাদের app-এর সাথে connect হয়ে যায়। এরপর আসে SSL, যেটা না থাকলে browser “Not Secure” দেখাবে। Certbot ব্যবহার করে খুব সহজেই free SSL setup করা যায়, এবং একবার সেট হয়ে গেলে HTTPS enable হয়ে যায়।

এখানেই basic deployment complete। তবে আরও এক ধাপ এগিয়ে Cloudflare ব্যবহার করলে overall setup অনেক বেশি secure এবং optimized হয়ে যায়। Cloudflare মূলত domain-এর সামনে একটি additional layer হিসেবে কাজ করে, যা security, caching, performance optimization এবং DDoS protection প্রদান করে।

Cloudflare দিয়ে Extra Security Layer

Cloudflare setup করার জন্য প্রথমে একটি account তৈরি করে domain add করতে হয়। Domain add করার পর Cloudflare existing DNS records automatically scan করে নিয়ে আসে এবং এরপর নতুন দুইটি nameserver প্রদান করে।

পরবর্তী ধাপে domain provider (যেমন Hostinger বা Namecheap)-এর dashboard-এ গিয়ে default nameserver পরিবর্তন করে Cloudflare-এর দেওয়া nameserver বসাতে হয়। এই change এর মাধ্যমে domain management সম্পূর্ণভাবে Cloudflare-এর মাধ্যমে manage হয়। Nameserver update হওয়ার পর কিছু সময় লাগে (propagation time), যা কয়েক মিনিট থেকে কয়েক ঘণ্টা পর্যন্ত হতে পারে।

Propagation সম্পন্ন হলে Cloudflare dashboard-এর DNS section থেকে DNS records manage করা যায়। এখানে একটি A record সেট করতে হয় যা VPS-এর IP address-এর দিকে point করে। Proxy status “Proxied” (orange cloud) enabled থাকলে Cloudflare traffic filter করে এবং additional protection প্রদান করে। সবশেষে, domain access করলে দেখা যাবে application সঠিকভাবে load হচ্ছে এবং এখন এটি শুধু live নয়, বরং secure, optimized এবং production-ready অবস্থায় রয়েছে।