Nginx: ইনস্টলেশন এবং আপনার প্রথম সাইট
Millida VDS-এ Nginx কীভাবে ইনস্টল করবেন, নিজের অ্যাড্রেসে প্রথম পেজ সার্ভ করবেন, এবং টাইপো দিয়ে কনফিগারেশন নষ্ট করা এড়াবেন।
আপডেট: ২৩ আগস্ট, ২০২৬
Nginx হলো সবচেয়ে প্রচলিত ওয়েব সার্ভার: এটি স্ট্যাটিক ফাইল পরিবেশন করে এবং অ্যাপ্লিকেশনগুলোতে রিকোয়েস্ট প্রক্সি করে। যেকোনো VPS টিয়ারে এটি কয়েক ডজন মেগাবাইট মেমরি নেয়, তাই VDS-1-ও যথেষ্ট।
ইনস্টলেশন
SSH-এর মাধ্যমে মেশিনে কানেক্ট করুন (কমান্ডটি প্যানেলের “Overview” ট্যাবে আছে /hosting/vds/m/<id>) এবং প্যাকেজটি ইনস্টল করুন।
apt update && apt install -y nginx # Debian, Ubuntu
dnf install -y nginx && systemctl enable --now nginx # AlmaLinux, CentOS Stream
সার্ভিসটি চালু আছে কিনা যাচাই করুন:
systemctl status nginx
curl -I http://127.0.0.1
এখন ব্রাউজারে মেশিনের পাবলিক অ্যাড্রেস খুলুন—এটি “Overview”-তে দেখানো আছে। Nginx-এর ওয়েলকাম পেজ দেখা উচিত।
আপনার প্রথম সাইট
ডিফল্ট ফাইলটি এডিট করবেন না—প্রতিটি সাইটের জন্য আলাদা কনফিগ তৈরি করুন। এতে সেগুলো চালু ও বন্ধ করা সহজ হয়।
mkdir -p /var/www/example.ru
echo '<h1>Works</h1>' > /var/www/example.ru/index.html
chown -R www-data:www-data /var/www/example.ru
server {
listen 80;
server_name example.ru www.example.ru;
root /var/www/example.ru;
index index.html;
location / {
try_files $uri $uri/ =404;
}
}
এটি /etc/nginx/sites-available/example.ru-তে সেভ করুন (AlmaLinux-এ, /etc/nginx/conf.d/example.ru.conf) এবং চালু করুন:
ln -s /etc/nginx/sites-available/example.ru /etc/nginx/sites-enabled/
nginx -t && systemctl reload nginx
nginx -t একটি বাধ্যতামূলক ধাপ। এটি রিলোড করার আগে সিনট্যাক্স যাচাই করে; এটি ছাড়া একটি ব্র্যাকেট ভুল একসাথে সব সাইট ডাউন করে দেবে।
ডোমেইন এবং সার্টিফিকেট
ডোমেইনের A রেকর্ডটি “Overview” থেকে মেশিনের অ্যাড্রেসে পয়েন্ট করুন। রেকর্ডটি প্রোপাগেট হওয়ার আগ পর্যন্ত সাইটটি শুধু IP দিয়ে অ্যাক্সেসযোগ্য। রিভার্স রেকর্ড (PTR) “Access” ট্যাবে কনফিগার করা হয়; এটি সাইটের কার্যক্রমে প্রভাব ফেলে না—শুধু ইমেইল রেপুটেশনে।
এরপর একটি ফ্রি সার্টিফিকেট ইনস্টল করুন: Let's Encrypt। এটি ছাড়া ব্রাউজার “Not secure” দেখায়।
সাধারণ ত্রুটি
| লক্ষণ | কারণ | কী করবেন |
|---|---|---|
403 Forbidden | ডিরেক্টরিতে পারমিশন নেই বা index.html নেই | chown -R www-data:www-data /var/www/..., index যাচাই করুন |
502 Bad Gateway | প্রক্সির পেছনের অ্যাপ্লিকেশনটি চলছে না | আপনার সার্ভিসের systemctl status, দেখুন রিভার্স প্রক্সি |
| ভিন্ন একটি সাইট খুলছে | রিকোয়েস্টটি কোনো server_name-এর সাথে মেলেনি এবং প্রথম ব্লকে গিয়ে পড়েছে | স্পষ্টভাবে server_name সেট করুন, অতিরিক্ত কনফিগ থেকে default_server সরান |
| পোর্ট 80 ব্যবহৃত হচ্ছে | Apache ইতিমধ্যে ইনস্টল করা আছে | এটি বন্ধ করুন: systemctl disable --now apache2 |
লগগুলো /var/log/nginx/error.log-এ দেখুন—প্রায় যেকোনো 500 রেসপন্সের কারণ সেখানেই থাকে।
Nginx
systemctl reloadদিয়ে রিস্টার্ট করুন,restartদিয়ে নয়: reload খোলা কানেকশন না কেটে কনফিগারেশন গ্রহণ করে।