از طریق منوی جستجو مطلب مورد نظر خود در وبلاگ را به سرعت پیدا کنید
روش تنظیم بلوک های سرور Nginx در CentOS 7
سرفصلهای مطلب
بلوک های سرور Nginx به شما این امکان را می دهد که بیش از یک وب سایت را روی یک دستگاه اجرا کنید. این مفید است زیرا برای هر سایت میتوانید ریشه سند سایت (دایرکتوری حاوی فایلهای وبسایت) را مشخص کنید، یک خطمشی امنیتی جداگانه ایجاد کنید، از گواهیهای SSL مختلف و موارد دیگر استفاده کنید.
در این آموزش روش راه اندازی بلوک های سرور Nginx در CentOS 7 را توضیح خواهیم داد.
پیش نیازها
قبل از ادامه این آموزش مطمئن شوید که پیش نیازهای زیر را برآورده کرده اید:
- نام دامنه به IP سرور عمومی شما اشاره دارد. ما استفاده خواهیم کرد
example.com
. - Nginx روی سیستم CentOS شما نصب شده است.
- به عنوان روت یا کاربر با امتیازات sudo وارد شدهاید.
Server Blocks
به عنوان یک Virtual host
. یک مجازی hostیک اصطلاح آپاچی است.
ساختار دایرکتوری را ایجاد کنید
ریشه سند دایرکتوری است که در آن فایل های وب سایت برای یک نام دامنه ذخیره شده و در پاسخ به درخواست ها ارائه می شود. ما می توانیم ریشه سند را در هر مکانی که می خواهید تنظیم کنیم.
ما از ساختار دایرکتوری زیر استفاده خواهیم کرد:
/var/www/
├── example.com
│ └── public_html
├── example2.com
│ └── public_html
├── example3.com
│ └── public_html
اساسا ما در حال ایجاد یک دایرکتوری جداگانه برای هر دامنه ای هستیم که می خواهیم host در سرور ما در داخل /var/www
فهرست راهنما. در این دایرکتوری، a ایجاد می کنیم public_html
دایرکتوری که دایرکتوری ریشه سند دامنه خواهد بود و فایل های وب سایت دامنه را ذخیره می کند.
بیایید با ایجاد دایرکتوری ریشه برای دامنه خود شروع کنیم example.com
:
sudo mkdir -p /var/www/example.com/public_html
برای اهداف آزمایشی، ما یک را ایجاد خواهیم کرد index.html
فایل داخل دایرکتوری ریشه سند دامنه.
ویرایشگر متن خود را باز کنید و نسخه ی نمایشی را ایجاد کنید index.html
فایل:
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>
در این مثال، ما دستورات را به عنوان یک کاربر sudo اجرا می کنیم و فایل ها و دایرکتوری های جدید متعلق به کاربر root هستند.
برای جلوگیری از هرگونه مشکل مجوز، مالکیت دایرکتوری ریشه سند دامنه را به کاربر Nginx تغییر دهید (nginx
):
sudo chown -R nginx: /var/www/example.com
یک بلاک سرور ایجاد کنید
فایل های پیکربندی بلوک سرور Nginx باید به پایان برسد .conf
و در آن ذخیره می شوند /etc/nginx/conf.d
فهرست راهنما.
ویرایشگر انتخابی خود را باز کنید و یک فایل پیکربندی بلوک سرور برای آن ایجاد کنید example.com
.
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
در نهایت، برای تأیید اینکه بلوک سرور مطابق انتظار کار می کند باز است http://example.com
در مرورگر انتخابی خود، چیزی شبیه به این را خواهید دید:
نتیجه
شما یاد گرفته اید که چگونه یک پیکربندی بلوک سرور Nginx را ایجاد کنید host چندین دامنه در یک سرور CentOS واحد. میتوانید مراحلی را که در بالا توضیح دادیم تکرار کنید و بلوکهای سرور اضافی برای همه دامنههای خود ایجاد کنید.
اگر می خواهید وب سایت خود را با گواهینامه LetsEncrypt رایگان SSL ایمن کنید، می توانید راهنمای زیر را بررسی کنید:
Nginx را با Let’s Encrypt در CentOS 7 ایمن کنید
اگر با هر مشکلی روبرو هستید، در نظرات خود کامنت بگذارید.
این پست بخشی از install-lemp-stack-on-centos-7 سلسله.
سایر پست های این مجموعه:
روش نصب Nginx در CentOS 7
Nginx را با Let’s Encrypt در CentOS 7 ایمن کنید
MariaDB را روی CentOS 7 نصب کنید
PHP 7 را روی CentOS 7 نصب کنید
روش تنظیم بلوک های سرور Nginx در CentOS 7
لطفا در صورت وجود مشکل در متن یا مفهوم نبودن توضیحات، از طریق دکمه گزارش نوشتار یا درج نظر روی این مطلب ما را از جزییات مشکل مشاهده شده مطلع کنید تا به آن رسیدگی کنیم
زمان انتشار: 1402-12-27 09:25:02