1️⃣ মূল আইডিয়া (Concept)
একটা server এর একটাই IP থাকে, কিন্তু সেই IP তে অনেকগুলো domain point করতে পারে।
Example:
| Domain | Server IP |
|---|---|
| example1.com | 103.xxx.xxx.xxx |
| example2.com | 103.xxx.xxx.xxx |
| example3.com | 103.xxx.xxx.xxx |
সব domain একই server এ আসবে, তারপর web server (Nginx বা Apache) দেখে ঠিক করবে কোন domain এর request কোন folder থেকে serve হবে।
2️⃣ Step 1: Domain DNS Server এ Point করা
প্রথমে domain এর DNS এ গিয়ে A Record add করতে হবে।
Example:
Type: A
Name: @
Value: 103.163.xxx.xxx
Example domains:
example1.com → 103.xxx.xxx.xxx
example2.com → 103.xxx.xxx.xxx
সবগুলো একই server এ যাবে।
3️⃣ Step 2: Server এ আলাদা Folder বানানো
Server এ প্রতিটা domain এর জন্য আলাদা folder রাখা ভালো।
Example:
/var/www/
example1.com
example2.com
example3.com
Structure:
/var/www/example1.com
/var/www/example2.com
/var/www/example3.com
4️⃣ Step 3: Nginx Virtual Host Setup
Nginx ব্যবহার করলে প্রতিটা domain এর জন্য server block বানাতে হয়।
Example:
/etc/nginx/sites-available/example1.com
Config:
server {
listen 80;
server_name example1.com www.example1.com;
root /var/www/example1.com;
index index.html index.php;
location / {
try_files $uri $uri/ =404;
}
}
আরেকটা domain:
/etc/nginx/sites-available/example2.com
server {
listen 80;
server_name example2.com www.example2.com;
root /var/www/example2.com;
}
5️⃣ Step 4: Enable Site
ln -s /etc/nginx/sites-available/example1.com /etc/nginx/sites-enabled/
ln -s /etc/nginx/sites-available/example2.com /etc/nginx/sites-enabled/
তারপর reload
sudo systemctl reload nginx
6️⃣ SSL Add করা (HTTPS)
Let's Encrypt দিয়ে:
sudo certbot --nginx -d example1.com -d www.example1.com
7️⃣ Final Result
একই server এ:
example1.com → /var/www/example1.com
example2.com → /var/www/example2.com
example3.com → /var/www/example3.com
সবগুলো একই server কিন্তু আলাদা website।
💡 Real Example (Production)
একটা dedicated server এ এমন হতে পারে:
/var/www
ecommerce.com
blog.com
companysite.com
api.companysite.com
🔥 MERN Project হলে কিভাবে হবে
যদি Node.js app হয়:
pm2 start app.js --name ecommerce
pm2 start app.js --name blog
তারপর nginx দিয়ে reverse proxy:
example.com → localhost:3000
blog.com → localhost:4000
Top comments (0)