ماژول ngx_http_core_module در Nginx

nginx ngx_http_core_module location
23 بهمن 1403

آشنایی با ماژول ngx_http_core_module در Nginx


ماژول ngx_http_core_module یکی از اجزای اصلی Nginx است که برای مدیریت درخواست‌های HTTP استفاده می‌شود. این ماژول به ما این امکان را می‌دهد که نحوه‌ی پاسخگویی Nginx به درخواست‌ها را تنظیم کنیم. یکی از ابزارهای کلیدی این ماژول، بخش location است که به ما اجازه می‌دهد رفتار سرور را بر اساس URL های ورودی تغییر دهیم.


در واقع، زمانی که یک درخواست به Nginx ارسال می‌شود، این ماژول به جستجوی صحیح‌ترین بخش location می‌پردازد تا بداند کدام تنظیمات باید به درخواست اعمال شود. با استفاده از location می‌توانیم URLهای خاصی را به خصوص لینک‌ها، دایرکتوری‌ها و فایل‌ها اختصاص دهیم. این ویژگی باعث می‌شود که ما بتوانیم هر نوع منبع یا محتوا را به شیوه‌ای سفارشی مدیریت کنیم.


مثلاً، فرض کنید شما می‌خواهید تصاویر را از یک دایرکتوری خاص ارسال کنید و در عوض فایل‌های CSS و JavaScript را از یک دایرکتوری دیگر. با استفاده از location می‌توانید این کار را به راحتی انجام دهید. هم‌چنین، می‌توانید تنظیمات ویژه‌ای مانند محدودیت‌های دسترسی یا ری‌دایرکت‌ها را نیز برای هر location تعریف کنید.


در زیر چند نمونه از نحوه‌ی استفاده از location را با هم بررسی می‌کنیم و به شما نشان می‌دهیم که چگونه می‌توانید این ویژگی‌ها را در تنظیمات Nginx خود بگنجانید. امیدوارم با این توضیحات و مثال‌ها قادر به استفاده از location در پروژه‌های خود باشید!


مثال‌هایی از تنظیمات location


server {
listen 80;
server_name example.com;

location /images/ {
alias /var/www/images/;
}

location /api {
proxy_pass http://backend_api;
}
}

شرح مثال


server {
این قسمت معرفی یک سرور جدید در Nginx است.


listen 80;
این خط به Nginx می‌گوید که به پورت 80 برای دریافت درخواست‌ها گوش دهد.


server_name example.com;
این خط نام دامنه مربوط به این سرور را مشخص می‌کند.


location /images/ {
این بخش مربوط به درخواست‌هایی است که به دایرکتوری تصاویر اشاره دارند.


alias /var/www/images/;
این خط مشخص می‌کند که درخواست‌های مربوط به /images/ در واقع به دایرکتوری /var/www/images/ هدایت شوند.


}
این نشانه به پایان بخش location اشاره دارد.


location /api {
در اینجا مشخص می‌کنیم که درخواست‌هایی با پیشوند /api چه رفتاری باید داشته باشند.


proxy_pass http://backend_api;
این خط Nginx را وادار می‌کند که درخواست‌های /api را به یک سرویس backend خاص هدایت کند.


}
این نشانه مجدداً به پایان بخش location اشاره دارد.


امیدوارم این توضیحات به شما کمک کرده باشد تا با مفهوم location در Nginx بیشتر آشنا شوید و بتوانید آن را در پروژه‌های خود به کار بگیرد.


سوالات متداول

؟

location چیست و چه کاربردی دارد؟

؟

چگونه می‌توانم درخواست‌های API را در Nginx مدیریت کنم؟

؟

آیا می‌توانم چند بخش location داشته باشم؟

؟

alias در location چه کاربردی دارد؟