What is NGINX

NGINX چیست؟

Rate this post

انجین ایکس (NGINX) یک نوع وب سرور می باشد. وظیفه وب سرور دریافت درخواست از کاربر و پاسخ به آن درخواست می باشد. وب سرور شامل دو نوع سخت افزاری و نرم افزاری می باشد. قسمت سخت افزار وب سرور داده های متنی، ویدویی، فایل های HTML،CSS، Javascript و در کل محتوا یک وبسایت را در بر می گیرد و بخش نرم افزاری در تعامل با Client می باشد. هر دو بخش وب سرور به هم متصل بوده و به صورت یکپارچه کار می کنند. بهترین مثال برای Client، مرورگر کاربر مانند کروم، فایرفاکس، و … می باشد.

وب سرور چیست؟

وب سرور یک کامپیوتر است مانند کامپیوتر خود شما که از دو بخش سخت افزاری و نرم افزاری ایجاد شده است و وظیفه تعامل با دیگر دستگاه های متصل به اینترنت را دارد. حتی می توان یک کامپیوتر شخصی را به عنوان وب سرور استفاده کرد اما این کار دور از منطق می باشد زیرا که وب سرور باید 24 ساعته به اینترنت و برق متصل بوده و همیشه در دسترس باشد. یا اینکه یک وب سرور باید یک آی پی استا (Static) داشته باشد و ارائه دهندگان اینترنت خانگی معمولا آی پی ایستا ارائه نمی دهند. بهترین محیط برای راه اندازی وب سرور دیتاسنتر می باشد که دارای استاندارد های خاص مخصوص این امر می باشد.

یک وب سرور با مرورگر از طریق پروتکل HTTP یا HTTPS ارتباط برقرار می کند. نحوه دریافت و ارسال اطلاع بین مرورگر و وب سرور به این گونه است که کاربر از طریق مرورگر درخواست خود را از طریق لینک (دامنه یا آی پی) مخصوصی که به وب سرور موردنظر متصل است ارسال می کند. وب سرور درخواست را بررسی می کند و اگر درخواست صحیح باشد، آن را پردازش کرده و نتیجه صحیح را برای مرورگر ارسال می کند. نتیجه می تواند یک محتوا متنی، ویدیویی، محتوا سی اس اس، اچ تی ام ال یا حتی یک ارور باشد. وب سرور حتما باید نتیجه ای را برای کاربر ارسال کند و اگر محتوا درخواست شده موجود نبود ارور 404 برای کلاینت ارسال می کند.

وب سرور می تواند شامل محتوا ایستا (Static) یا پویا (Dynamic) یا ترکیبی از هر دو آنها باشد. ایجاد وبسایت با محتوا استاتیک بسیار ساده بوده ولی ایجاد وبسایت با محتوا پویا دانش بیشتری طلبیده و کار پیچیده تر و البته که هیجان انگیز تری می باشد.

وب سرور می تواند یک یا چندین سایت را با محتوا جداگانه میزبانی کند که به آن میزبانی مجازی (Virtual Hosting) گفته می شود. همچنین این قابلیت را دارد تا سطح استفاده از هر کاربر را محدود کند تا یک کاربر نتواند منابع سرور را به خود اسختصاص داده و مانع استفاده دیگر کاربران شود.

What is web server and what does it do

وب سرور NGINX چیست؟

NGINX یکی از معروفترین وب سرور ها برای میزبانی هرچه سریعتر یک وبسایت می باشد. NGINX در سال 2004 توسط Igor Sysoev عرضه شد و طبق آمار به طور میانگین 28 درصد از وبسایت ها در سال 2021 از این وب سرور برای میزبانی محتوا سایت استفاده می کنند. این وب سرور خدمات دیگری نیز ارائه می دهد.

  • Load Balancing

برخی وبسایت ها روزانه توسط هزاران یا حتی میلیون کاربر استفاده می شوند و بازدید روزانه بسیار بالایی دارند. برای رسیدگی به این مقدار از کاربر و بازدید، یک سرور کافی نمی باشد و به همین دلیل از تعداد بسیار زیادی سرور به صورت همزمان استفاده می شود. در این بین وب سرور NGINX بین کاربران و این سرور ها قرار می گیرد و وظیفه هندل کردن درخواست ها را بر عهده می گیرد که به این موضوع لود بالانسینگ گفته می شود.

  • Reverse Proxy

در پراکسی معکوس NGINX بین کاربران و سرور اصلی قرار می گیرد و در تامین امنیت سرور اصلی امنیت بسیاری بر قرار می کند. در نظر داشته باشید که تفاوت ظریف ولی مهمی بین پراکسی معکوس (Reverse Proxy) و فورواردینگ پراکسی (Forwarding Proxy) وجود دارد. پراکسی معکوس مقابل وب سرور قرار می گیرد و مطمئن می شود که هیچ کاربری مستقیما با سرور اصلی ارتباط برقرار نکند. در طرف مقابل، فوروارد پراکسی در مقابل کاربر قرار می گیرد و مطمئن می شود که هیچ سروری به طور مستقیم با کاربر ارتباط برقرار نکند.

مزیت های وب سرور NGINX

NGINX به گونه ای طراحی شده که میزان رم کمتری مصرف کرده و همخوانی بالایی دارد. NGINX از یک رویکرد ناهمزمان و رویداد محور برای پاسخ به هر درخواست وب استفاده می کند. در بیشتر وب سرور ها برای هر درخواست یک پروسه جدید ایجاد می شود اما در NGINX برای جلوگیری از مصرف بیشتر رم، تعدادی پروسه در یک پروسه اصلی اجرا می گردند. NGINX با توجه ساختار API خود، قابل تعامل با هر اسکریپتی می باشد.

هنگام ایجاد تغییرات در لایه شبکه، راه اندازی مجدد آن اجتناب ناپذیر است؛ اما چه بر سر فرآیند های در حال اجرا در حین راه اندازی مجدد می آید؟ انجین ایکس یک تمایز عالی بین فرآیند های برنامه میزبانی شده و لایه شبکه را فراهم می کند. بنابراین شما می توانید هر تغییراتی که میخواهید را در لایه شبکه پیکربندی کنید و بدون ایجاد تداخل در میزبانی فرآیند ها، پیکربندی شبکه را راه اندازی مجدد کنید. خدمات NGINX بسیار متنوع بوده و پاسخگوی هرگونه نیاز برای میزبانی می باشد.

What are nginx benefits

نحوه راه اندازی NGINX

نصب NGINX کار بسیار پیچیده ای نبوده و می توان با اجرای چند دستور کار نصب را انجام داد. انجین ایکس بر روی سیستم عامل های بر پایه RHEL مانند ردهت (Redhat) و سنتوس (CentOS)، بر روی دبین (Debian)، اوبونتو (Ubuntu) و حتی بر روی ویندوز قابل نصب می باشد. می توانید مراحل نصب را به طور کامل برای همه سیستم عامل ها در لینک زیر مشاهده کنید.

آموزش نصب NGINX

نتیجه گیری در رابطه وب سرور NGINX

به طور خلاصه در جواب به اینکه NGINX چیست باید گفت که یکی از بهترین و معروفترین وب سرور ها برای میزبانی فرآیند های استفاده شده در یک یا چندین وبسایت یا Application می باشد. NGINX با امکاناتی که ارائه می دهد، سرعت، امنیت، و قابلیت اطمینان بیشتری را برای وبسایت ها فراهم می کند. مقیاس استفاده از NGNX به این صورت است که در کوچکترین سرور مجازی تا قدرتمندترین سرور اختصاصی با چندین کلاستر قابل اجرا است.

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

آدرس ایمیل خود را را با خیال راحت وارد کنید، چون نمایش داده نخواهد شد

15 + = 20