Server Block یک دستورالعمل Nginx است که تنظیمات یک دامنه خاص را تعریف می کند و به شما امکان می دهد بیش از یک وب سایت را روی یک سرور واحد اجرا کنید. برای هر وب سایت، می توانید فایل root سایت (دایرکتوری حاوی فایل های وب سایت) را تنظیم کنید، یک خط مشی امنیتی جداگانه ایجاد کنید، از گواهی های SSL مختلف و موارد دیگر استفاده کنید. در این مقاله با ما همراه باشید تا به شما عزیزان نحوه راه اندازی Nginx Server Block در Debian 10 را توضیح دهیم.
پیش نیازها :
اطمینان حاصل کنید که پیش نیازهای زیر را رعایت کرده اید:
در برخی از اسناد، عبارت Server Blocks به عنوان هاست مجازی نامیده می شود. هاست مجازی یک اصطلاح Apache است.
root، دایرکتوری است که فایل های وب سایت برای نام دامنه در آن ذخیره می شوند و در پاسخ به درخواست ها ارائه می شوند. root را می توان در هر مکانی که می خواهید تنظیم کنید. ما از ساختار دایرکتوری زیر استفاده خواهیم کرد:
/var/www/ ├── domain1.com │ └── public_html ├── domain2.com │ └── public_html ├── domain3.com │ └── public_html
برای هر دامنه میزبانی شده در سرور، یک دایرکتوری جداگانه در داخل / var / www ایجاد کنید. در دایرکتوری دامنه، ما یک دایرکتوری public_html ایجاد خواهیم کرد که دایرکتوری root دامنه خواهد بود و فایل های وب سایت دامنه را ذخیره می کند. بیایید با ایجاد دایرکتوری root برای دامنه، example.com شروع کنیم:
sudo mkdir -p /var/www/example.com/public_html
یک فایل index.html در دایرکتوری root دامنه ایجاد کنید:
sudo nano /var/www/example.com/public_html/index.html
فایل را باز کنید و کدهای زیر را جایگذاری کنید:
<!DOCTYPE html> <html lang="en" dir="ltr"> <head> <meta charset="utf-8"> <title>Welcome to example.com</title> </head> <body> <h1>Success! example.com home page!</h1> </body> </html>
برای جلوگیری از مشکلات مجوز، مالکیت دایرکتوری root دامنه را به کاربر Nginx تغییر دهید:
sudo chown -R www-data: /var/www/example.com
به طور پیشفرض، در سیستمهای دبیان، فایلهای کانفیگ بلوکهای سرور Nginx در دایرکتوری /etc/nginx/sites-available ذخیره میشوند. برای فعال کردن یک کانفیگ، باید فایل را به دایرکتوری /etc/nginx/sites-enabled/ پیوند کنید. ویرایشگر متن خود را باز کنید و فایل Server Block زیر را ایجاد کنید:
sudo nano /etc/nginx/sites-available/example.com.conf
server { listen 80; listen [::]:80; root /var/www/example.com/public_html; index index.html; server_name example.com www.example.com; access_log /var/log/nginx/example.com.access.log; error_log /var/log/nginx/example.com.error.log; location / { try_files $uri $uri/ =404; } }
فایل کانفیگ را می توان هر چیزی که می خواهید نامگذاری کرد، اما معمولاً بهتر است از نام دامنه استفاده کنید. با ایجاد یک پیوند سمبلیک از فایل به دایرکتوری فعال شده سایت ها ، فایل Server Block جدید را فعال کنید:
sudo ln -s /etc/nginx/sites-available/example.com.conf /etc/nginx/sites-enabled/
کانفیگ Nginx را برای نحو صحیح آزمایش کنید:
sudo nginx -t
اگر خطایی وجود نداشته باشد، خروجی به شکل دستور زیر خواهد بود:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful
برای اعمال تغییرات، سرویس Nginx را مجددا راه اندازی کنید:
sudo systemctl restart nginx
برای اطمینان از اینکه Server Block مطابق انتظار کار می کند، http://example.com را در مرورگر خود باز کنید، چیزی شبیه به تصویر زیر مشاهده خواهید کرد:
ما به شما نشان دادهایم که چگونه Nginx Server Block را ایجاد کنید و چندین دامنه را روی یک سرور Debian واحد میزبانی کنید. برای ایجاد Server Block برای دامنه دیگر، مراحل مشابه را تکرار کنید.
امیدواریم مطالب مورد پسند بوده و از آن بهره لازم را برده باشید. خوشحال میشویم نظرات و سوالات خود را در قسمت دیدگاه به اشتراک بگذارید و ما را در شتابان هاست همراهی کنید.😊