نحوه تنظیم Nginx Server Blocks در CentOS 8

نحوه تنظیم Nginx Server Blocks در CentOS 8

سعیده مهاجری

Server Block یک دستورالعمل Nginx است که تنظیمات دامنه خاصی را تعریف می کند و به شما امکان می دهد بیش از یک وب سایت را در یک سرور اجرا کنید. برای هر وب سایت ، می توانید site document root (دایرکتوری حاوی فایل های وب سایت) را تنظیم کنید ، یک خط مشی امنیتی جداگانه ایجاد کنید ، از گواهینامه های SSL مختلف و موارد دیگر استفاده کنید. در این مقاله با ما همراه باشید تا شما عزیزان را با نحوه تنظیم Nginx Server Blocks در CentOS 8 آشنا کنیم.

پیش نازها :

قبل از ادامه این آموزش اطمینان حاصل کنید که شرایط زیر را داشته اید:

  • نام دامنه به IP سرور عمومی شما اشاره دارد.
  • Nginx روی سیستم CentOS شما نصب شده است.
  • شما به عنوان root یا user با امتیازات sudo وارد سیستم شده اید.

در برخی از اسناد ، اصطلاح Server Blocks به عنوان virtual host شناخته می شود. virtual host یک اصطلاح Apache است.

ایجاد Directory Structure :

document root ، دایرکتوری است که در آن فایل های وب سایت برای یک نام دامنه ذخیره می شود و در پاسخ به درخواست ها ارائه می شود. document root را می توان روی هر مکانی که می خواهید تنظیم کنید. ما از ساختار دایرکتوری زیر استفاده خواهیم کرد:

/var/www/
├── example.com
│   └── public_html
├── example2.com
│   └── public_html
├── example3.com
│   └── public_html

برای هر دامنه میزبانی شده در سرور ، یک دایرکتوری جداگانه در داخل / var / www ایجاد کنید. در دایرکتوری دامنه ، ما یک دایرکتوری public_html ایجاد خواهیم کرد که پوشه document root دامنه خواهد بود و فایل های وب سایت دامنه را ذخیره می کند. بیایید با ایجاد دایرکتوری document root برای دامنه اول ، example.com شروع کنیم:

sudo mkdir -p /var/www/example.com/public_html

بعد ، یک فایل index.html در داخل دایرکتوری document 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>

برای جلوگیری از بروز هرگونه مشکل ، مالکیت دایرکتوری document root دامنه را به کاربر Nginx تغییر دهید:

sudo chown -R nginx: /var/www/example.com

ایجاد Server Block :

به طور پیش فرض ، در سیستم های CentOS ، فایل های کانفیگ Nginx server blocks با .conf پایان می یابد و در دایرکتوری /etc/nginx/conf.d ذخیره می شوند. ویرایشگر متن خود را باز کرده و فایل کانفیگ دامنه را ایجاد کنید:

sudo nano /etc/nginx/conf.d/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;
    }
}

فایل را ذخیره کرده و کانفیگ 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 Blocks در CentOS 8

جمع بندی :

ما به شما نحوه ایجاد Nginx server blocks و میزبانی چندین دامنه در یک سرور CentOS را نشان دادیم. می توانید مراحل ذکر شده در بالا را تکرار کرده و server blocks دیگری برای تمام دامنه های خود ایجاد کنید.

امیدواریم مطالب مورد پسند بوده و از آن بهره لازم را برده باشید. خوشحال میشویم نظرات و سوالات خود را در قسمت دیدگاه به اشتراک بگذارید و ما را در شتابان هاست همراهی کنید.😊

برچسب ها: دستورات لینوکس