Skip to content
VDS · ওয়েবসাইট ও ওয়েব সার্ভার

স্ট্যাটিক সাইট: ফাইল থেকে ডোমেইন পর্যন্ত

ল্যান্ডিং পেজ বা React বা Vue বিল্ডের সম্পূর্ণ পথ: VPS-এ ফাইল আপলোড করুন, ওয়েব সার্ভার দিয়ে সার্ভ করুন, ডোমেইন বাইন্ড করুন, এবং ডাউনটাইম ছাড়াই আপডেট করুন।

আপডেট: ২৩ আগস্ট, ২০২৬

একটি স্ট্যাটিক সাইট হলো তৈরি করা ফাইলের একটি সেট: HTML, CSS, ছবি, একটি ফ্রন্টএন্ড বিল্ড। এটির জন্য PHP বা ডেটাবেসের প্রয়োজন হয় না, তাই এটি VDS-1-এও আরামে চলে এবং লক্ষণীয় ট্রাফিক সামলাতে পারে: ৫০০ Mbit/s পর্যন্ত।

ফাইল কোথায় রাখবেন

প্রতিটি সাইটের জন্য আলাদা ডিরেক্টরি তৈরি করুন:

mkdir -p /var/www/example.ru
chown -R www-data:www-data /var/www/example.ru

আপনার লোকাল মেশিন থেকে সাধারণ scp বা rsync দিয়ে আপলোড করুন:

scp -r ./dist/* root@YOUR_ADDRESS:/var/www/example.ru/
rsync -avz --delete ./dist/ root@YOUR_ADDRESS:/var/www/example.ru/

rsync --delete সার্ভার থেকে সেই ফাইলগুলো মুছে দেয় যেগুলো আর বিল্ডে নেই। এটি ছাড়া পুরনো JS চাংক বছরের পর বছর জমতে থাকে।

ওয়েব সার্ভারের মাধ্যমে সার্ভ করা

সর্বনিম্ন Nginx কনফিগ:

server {
    listen 80;
    server_name example.ru;
    root /var/www/example.ru;
    index index.html;

    location / {
        try_files $uri $uri/ /index.html;
    }

    location ~* \.(js|css|png|jpg|svg|woff2)$ {
        expires 30d;
        add_header Cache-Control "public, immutable";
    }
}

try_files ... /index.html লাইনটি React, Vue এবং Svelte-এ তৈরি সিঙ্গেল-পেজ অ্যাপ্লিকেশনের জন্য প্রয়োজন: এটি ছাড়া সরাসরি /about-এ গেলে ৪০৪ রেসপন্স আসে।

এরপর আসে একটি Let's Encrypt সার্টিফিকেট, এবং সাইটটি HTTPS-এ খোলে।

ডোমেইন

ডোমেইন প্যানেলে মেশিনের পাবলিক অ্যাড্রেসের দিকে (/hosting/vds/m/<id>-এ “Overview” ট্যাব) নির্দেশ করা একটি A রেকর্ড এবং www-এর জন্য একই রেকর্ড তৈরি করুন। যাচাই করুন:

dig +short example.ru

রেকর্ড ছড়িয়ে পড়তে কয়েক ঘণ্টা পর্যন্ত লাগতে পারে। অপেক্ষা করার সময় সাইটটি মেশিনের অ্যাড্রেসে অ্যাক্সেসযোগ্য থাকে।

ডাউনটাইম ছাড়া আপডেট

লাইভ ডিরেক্টরির উপর ফাইল আপলোড করবেন না — একজন ভিজিটর অর্ধ-তৈরি সাইট দেখতে পেতে পারেন। পাশাপাশি বিল্ড করুন এবং সিমলিংক সুইচ করুন:

rsync -avz ./dist/ /var/www/releases/$(date +%s)/
ln -sfn /var/www/releases/1724400000 /var/www/example.ru-current
systemctl reload nginx

এরপর কনফিগের root পয়েন্ট করে /var/www/example.ru-current-এ।

সাধারণ ভুল

লক্ষণকারণ
সাদা পেজ, কনসোলে JS-এ ৪০৪ভুল base দিয়ে ফাইল বিল্ড করা হয়েছে — আপনার বান্ডলার সেটিংস যাচাই করুন
কিছু ভিজিটরের জন্য পুরনো ভার্সনব্রাউজার ক্যাশ — হ্যাশযুক্ত ফাইল নাম ব্যবহার করুন
সবকিছুতে ৪০৩ডিরেক্টরিটি ওয়েব সার্ভার ইউজারের জন্য পঠনযোগ্য নয়
শুধু হোম পেজ কাজ করেসিঙ্গেল-পেজ অ্যাপ্লিকেশনের জন্য try_files নেই

ফ্রন্টএন্ড লোকালি বিল্ড করে তৈরি dist আপলোড করা ভালো। ২ GB মেমোরির VDS-1-এ বড় প্রজেক্ট বিল্ড করা মেমোরির অভাবে ব্যর্থ হতে পারে।