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

একটি সার্ভারে একাধিক সাইট

একটি VPS-এ এক ডজন সাইট হোস্ট করার পদ্ধতি: ডিরেক্টরি লেআউট, আলাদা কনফিগ ও ইউজার, শেয়ার করা সার্টিফিকেট, এবং টিয়ার অনুযায়ী লোড অনুমান।

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

একটি পাবলিক IPv4 অ্যাড্রেস যেকোনো সংখ্যক ডোমেইন সার্ভ করতে পারে: ওয়েব সার্ভার Host হেডার অনুযায়ী রিকোয়েস্ট রাউট করে। সীমাবদ্ধতা অ্যাড্রেসের নয় — আপনার টিয়ারের মেমোরি ও ডিস্কের।

লেআউট

একটি টেমপ্লেট রাখুন, নাহলে ছয় মাস পরে বুঝতেই পারবেন না কোন সাইট কার:

/var/www/example.ru/public
/var/www/example.ru/logs
/var/www/shop.ru/public
/var/www/shop.ru/logs

প্রতিটি সাইটের জন্য আলাদা কনফিগ ফাইল রাখুন: /etc/nginx/sites-available/<domain>, যা sites-enabled-এ সিমলিংকের মাধ্যমে এনাবল করা হয়। তখন একটি সাইট বন্ধ করতে শুধু একটি সিমলিংক মুছে রিলোড করলেই হয়, শেয়ার করা ফাইলে সঠিক অংশ খোঁজার দরকার পড়ে না।

কনফিগারেশন

server {
    listen 80;
    server_name example.ru www.example.ru;
    root /var/www/example.ru/public;
    index index.html index.php;
    access_log /var/www/example.ru/logs/access.log;
}

অজানা ডোমেইনের জন্য একটি “ক্যাচ-অল সাইট”-ও সেট করুন, নাহলে আপনার অ্যাড্রেসে পয়েন্ট করা যেকোনো তৃতীয় পক্ষের ডোমেইনের জন্য বর্ণানুক্রমিকভাবে প্রথম কনফিগটি খুলে যাবে:

server {
    listen 80 default_server;
    server_name _;
    return 444;
}

পারমিশন আলাদা করা

সাইটগুলো যদি ভিন্ন ক্লায়েন্ট বা ভিন্ন প্রজেক্টের হয়, তাহলে তাদের একটি শেয়ার করা ইউজার দেবেন না: নাহলে একটি স্ক্রিপ্টে ফাঁক মানে সবারই অ্যাক্সেস।

useradd -r -d /var/www/example.ru -s /usr/sbin/nologin site-example
chown -R site-example:www-data /var/www/example.ru
chmod 750 /var/www/example.ru

PHP-এর জন্য প্রতিটি সাইটের আলাদা FPM পুল তৈরি করুন, নিজস্ব user ও listen সহ — দেখুন PHP-FPM। আপনার ডেটাবেসও আলাদা করুন: ইউজার ও গ্রান্ট।

সার্টিফিকেট

একটি certbot রান একসাথে কয়েকটি ডোমেইন কভার করে:

certbot --nginx -d example.ru -d www.example.ru -d shop.ru -d www.shop.ru

রিনিউয়াল শেয়ার করা, একটি টাইমার। বিস্তারিত — Let's Encrypt।

কতগুলো সাইট ফিট হবে

ডোমেইনের সংখ্যা দিয়ে নয়, মেমোরি দিয়ে হিসাব করুন। একটি স্ট্যাটিক সাইট প্রায় কিছুই খরচ করে না; ডেটাবেসসহ একটি CMS সাইট কয়েকশো মেগাবাইট খরচ করে।

টিয়ারমেমোরিনির্দেশিকা
VDS-1 (2 GB)2 GB১–২টি CMS সাইট বা এক ডজন স্ট্যাটিক সাইট
VDS-2 (4 GB)4 GB৩–৫টি CMS সাইট
VDS-3 (8 GB)8 GB৮–১২টি CMS সাইট

ডিস্কও সীমিত: VDS-1-এ 40 GB, VDS-6-এ 250 GB। আপনি শুধু আপনার প্ল্যান আপগ্রেড করতে পারবেন, পেইড পিরিয়ডের বাকি দিনগুলোর পার্থক্য পরিশোধ করে।

সাধারণ ভুল

লক্ষণকারণ
সব ডোমেইন একই সাইট দেখায়server_name মেলেনি, তাই প্রথম ব্লকটি রিকোয়েস্ট হ্যান্ডেল করেছে
সব সাইটের লগ এক ফাইলেসাইট ব্লকে access_log সেট করা নেই
একটি সাইট সবকিছু ডাউন করে দিললিমিট ছাড়া শেয়ার করা PHP-FPM পুল
ডিস্ক স্পেস শেষলগ ও ব্যাকআপ একই ডিস্কে — logrotate সেট করুন

আরেকটি সাইট যোগ করার আগে /hosting/vds/m/<id>-এ প্যানেলের “Overview”-তে গত এক সপ্তাহের মেমোরি গ্রাফ দেখুন। পিক যদি ইতিমধ্যেই সিলিংয়ে থাকে, তাহলে নতুন সাইট ক্র্যাশের কারণ হবে, ফলাফল নয়।