স্ট্যাটিক সাইট: ফাইল থেকে ডোমেইন পর্যন্ত
ল্যান্ডিং পেজ বা 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-এ বড় প্রজেক্ট বিল্ড করা মেমোরির অভাবে ব্যর্থ হতে পারে।