NGINX

نوشته شده توسط علی آخی و بردیا اکبری

سلام و درود خدمت همه دوستان!

در این مقاله ، ما سعی کرده ایم با اتکا به مطالعات و تجربیات خود در زمینهْ سرویس های NGINX و قابلیت های مختلف آ ن نقش هر چند کوچکی در زمینهٔ معرفی این ابزار فوق العاده داشته باشیم.

همچنین امید واریم با انتشار این مقاله و سایر مطالبی که در زمینه ی ابزار های متن  باز که توسط ما یا سایر دوستان نوشته می شود، از جامعه نرم افزار آزاد ایران حمایت کنید که در سایه ی این حمایت های شما بتوانیم به جایگاهی شایسته در دنیای تکنولوژی برسیم.

خب خب! بریم سر بحث خودمون:

خیلی هم داستان عجیب و غریبی نداره، مدتی بود در حال تحقیق روی وب سرور  های شرکت های مختلف بودیم مثل: APACHE , LightSpeed و حتی IIS اما در این بین توجه ما به NGINX دوست داشتنی و خدماتش جلب شد و شیفته انعطاف پذیری و سایر ویژگی های آن شدیم و وقتی روی این موضوع دقیق تر شدیم با سایر قابلیت ها و ابزار های nginx آشنا شدیم و خواستیم شما را بیشتر با این قابلیت ها و ابزار ها آشنا کنیم. پس تصمیم به نوشتن این مطلب گرفتیم .


اصلا NGINX چی هست؟!

از کجا اومده؟!

ابزار متن باز Nginx (البته بهتر است تلفط کنید Engine-x )نوعی وب سرور open source یا منبع باز می باشد که البته می تواند به عنوان Reverse Proxy نیز استفاده گردد. پیدایش Nginx به سال 2002 برمیگردد که در آن زمان وب سرور ها بسیار کند بوده و معمولا در درخواست های بالا و پردازش های زیاد دچار مشکل بودند.

اولین خط های Nginx توسط Igor Sysoev در سال ۲۰۰۲ نوشته شد و در سال ۲۰۰۴ به عرضه عمومی رسید. در جولای سال ۲۰۱۱ شرکت به نام Nginx, Inc در سان فرانسیسکو، کالیفرنیا تغییر شکل داد. این شرکت در واقع یک کمپانی information technology می باشد که نرم  افزار های وب سرور را تولید و ارائه می دهد.در مدت 13 سال گذشته بیش از 12 درصد از سهم وب سرور های دنیا را به خود اختصاص داده است.

بـر اساس بررسی های Netcraft در اگوست سال ۲۰۱۴، nginx به عنوان دومین وب سرور پرطرفدار در سایت های فعال شناخته شد.به دلیل توانایی فوق العاده در مدیریت بسیاری از اتصالات و سرعت ، بسیاری از وب  سایت های پر ترافیک از خدمات NGINX استفاده کرده اند. برخی از این غول های آنلاین گوگل ، نتفلیکس ، ادوبی ، Cloudflare ، WordPress.com و بسیاری دیگر هستند.

راستی علت این سرعت چیست؟! به طور خلاصه!

تازمانی که با قابلیت های nginx آشنا نشده اید درک پاسخ این سوال کمی دشوار است اما به زبان ساده می توان گفت که:

سرورهای وب قدیمی برای هر درخواست یک موضوع connection ایجاد می کنند ، اما NGINX به این روش کار نمی کند. ابزار NGINX با معماری Asynchronous و رویداد محور اجرا می شود. این بدان معناست که موضوعات مشابه تحت یک فرآیند worker اداره می شوند و هر فرآیند worker شامل connectionهای کوچکتر به نام اتصالات worker است. این connection کل مسئولیت رسیدگی به موضوعات درخواست را بر عهده دارد. اتصالات worker درخواست ها را به یک فرآیند worker تحویل می دهد، که آن را به روند master ارسال می کند. سرانجام ، روند master نتیجه آن درخواست ها را ارائه می دهد.

اگر کمی سردرگم شدید حق دارید، اما کلیت عملکرد nginx در پاسخگویی به هر درخوست این گونه است پس اصلا نگران نباشید.


ویژگی ها و قابلیت های nginx :

در این مقاله ما می خواهیم با یکسری از ابزار های nginx آشنا شویم و همچنین قابلیت  های هر یک از این ابزار ها را بشناسیم و هر جا لازم شد یکسری تعاریف و مفاهیم پیش نیاز را بازگو کنیم پس اصلا دغدغه ی سرچ کردن در مورد کلی چیز عجیب را نداشته باشید.

ابزار هایی که ما آن ها را بررسی خواهیم کرد شامل:


NGINX Plus
NGINX Plus


NGINX Unit
NGINX Unit


Load Balancer & Load Balancing
Load Balancer & Load Balancing


Controller
Controller


NGINX WAF
NGINX WAF



این مطلب ادامه دارد...

انتشار در روز های آتی (: