آشنایی با ماژول 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 بیشتر آشنا شوید و بتوانید آن را در پروژههای خود به کار بگیرد.