نحوه راه اندازی Nginx Server Block در اوبونتو 18.04

Nginx Server Block به شما اجازه میدهد بیش از یک وب سایت را در سرور خود داشته باشید. با Nginx Server Blocks میتوانید برای داکیومنت روت سایت‌هایتان ( که متشکل از فایل های سایت‌تان است) ، گواهی های SSL مجزا و سیاست امنیتی جداگانه تعیین کنید.

در این آموزش، ما دستورالعمل های گام به گام در مورد نحوه راه اندازی بلوک های سرور Nginx (مشابه میزبان های مجازی Apache) در اوبونتو 18.04 ارائه خواهیم کرد.

پیش نیاز

انجین ایکس وب سرور و بلوک سرور server block
nginx block server

ساخت یک ساختار دایرکتوری

داکیومنت روت یک محل برای ذخیره فایل های وب سایت برای نام دامنه است که پاسخ به درخواست ها در آن ذخیره و آماده میشود.

ما برای نمونه از ساختار زیر استفاده میکنیم :

/var/www/
├── domain1.com
│   └── public_html
├── domain2.com
│   └── public_html
├── domain3.com
│   └── public_html

ما برای میزبانی از دامنه ها دایرکتوریی به شکل بالا بر روی سرور خود در داخل var/www/ ایجاد میکنیم.
در هر یک از این فهرستها ، یک دایرکتوری public_html ایجاد خواهیم کرد که فایلهای وب سایت دامنه را ذخیره می کند.

برای نمونه یک دایرکتوری به اسم LinuxHelp.ir میسازیم :

sudo mkdir -p /var/www/linuxhelp.ir/public_html

ما یک فایل index.html در درون داکیومنت روت میسازیم.

ادیتور خود را باز کنید و مانند زیر عمل کنید :

<!DOCTYPE html>
<html lang="en" dir="ltr">
  <head>
    <meta charset="utf-8">
    <title>Welcome to linuxhelp.ir</title>
  </head>
  <body>
    <h1>Success! linuxhelp.ir  home page!</h1>
  </body>
</html>

در این مثال ، ما دستورات را به عنوان کاربر sudo اجرا میکنیم و پرونده ها و دایرکتوری های تازه ایجاد شده متعلق به کاربر root هستند.

برای جلوگیری از هرگونه مجوز دسترسی متفرقه، مالکیت دامین داکیومنت روت را به User تغییر دهید :

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

ساخت Server Block

در توزیع اوبونتو بصورت پیش فرض فایل های کانفیگ Nginx Server Block در دایرکتوری
/etc/nginx/sites-available ذخیره میشود که از طریق یک symbolic links به دایرکتوری /etc/nginx/sites-enabled/ فعال میشود.

با استفاده از یک ادیتور فایل های sever block زیر را ایجاد کنید :

etc/nginx/sites-available/example.com/
server {
    listen 80;
    listen [::]:80;

    root /var/www/linuxhelp.ir/public_html;

    index index.html;

    server_name linuxhelp.ir www.linuxhelp.ir;

    access_log /var/log/nginx/linuxhelp.access.log;
    error_log /var/log/nginx/linuxhelp.ir.error.log;

    location / {
        try_files $uri $uri/ =404;
    }
}

می توانید فایل کانفیگ را به دلخواه خود نامگذاری کنید اما معمولاً بهتر است از نام دامنه استفاده شود.

برای فعال کردن فایل server block جدید ، یک symbolic link از فایل به دایرکتوری
sites-enabled ایجاد کنید ، که توسط Nginx هنگام راه اندازی خوانده می شود :

sudo ln -s /etc/nginx/sites-available/example.com /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

حال سرویس را یکبار Restart میکنیم تا تغییرات اعمال شود :

sudo systemctl restart nginx

در پایان برای اطمینان از کارکرد وب سرور نام دامنه را در مرورگر تایپ میکنیم و صفحه خوش آمدگویی زیر را مشاهده خواهید کرد :

صفحه خوش آمدگویی Ngnix web server

نتیجه

شما آموخته اید که چگونه یک کانفیگ Nginx server block ایجاد کنید تا میزبان چندین دامنه بر روی یک سرور Ubuntu باشد. می توانید مراحل ذکر شده در بالا را تکرار کرده و بلوک های اضافی سرور را برای همه دامنه های خود ایجاد کنید.

درباره AfshinBalakar

افشین بالاکار دانشجوی مهندسی تکنولوژی نرم افزار، مدت 5 سال است با لینوکس رابطه افلاطونی دارم.

پیشنهاده میشه بخونی

نصب آپاچی در اوبونتو 20.04، راه اندازی وب سرور در ubuntu

آموزش نصب Apache در اوبونتو 20.04

Apache یکی از محبوب ترین سرورهای وب در جهان است. این سرور HTTP با منبع …

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *