حسین حلافی
حسین حلافی
خواندن ۴ دقیقه·۲ سال پیش

انجین ایکس (Nginx) چیست؟



انجین ایکس (Nginx) یکی از برترین و قدرتمند ترین وب سرورهای جهان است که سرعت و مقیاس پذیری بالایی داره. انجین ایکس ساخته شده برای کار های بزرگ و ترافیک های سنگین رو بخوبی مدیریت میکنه

ویژگی ها و قابلیت های انجین ایکس

وب سرور کارامد NGINX مزایا و امکانات زیادی دارد که در ادامه بصورت فهرست وار با توضیحاتی کوتاه برای شما نوشتیم:

  1. رایگان است: انجین ایکس همیشه رایگان است و شما میتوانید از سایت رسمی اش آن را دریافت و بروز رسانی کنید.
  2. متن باز است: میتوانید از سایت رسمی اش سورس آن را دریافت کرده و تغییرات مورد نظرتان را بر روی آن اعمال کنید. هیچ محدودیتی وجود ندارد!
  3. استفاده بهینه از RAM سرور: به بهترین شکل ممکنواز رم سرور استفاده میکند.
  4. احراز هويت HTTP: بصورت توکار قابلیت اعتبارسنجی کاربران را داراست.
  5. پشتیبانی از IPV4: از آی پی ورژن ۴ پشتیبانی میکنه.
  6. پشتیبانی از IPV6: از آیپی ورژن ۶ هم پشتیبانی میکنه.
  7. پشتیبانی از SSL: برای رمزنگاری ترافیک ببن سرور و کلاینت.
  8. پشتیبانی از TLS: مشابه ssl برای رمزنگاری استفاده میشود.
  9. پشتیبانی از STARTTLS: نسل جدیدی از رمز نگاری ترافیک برای جلوگیری از شنود.
  10. پشتیبانی از SNI: برای استفاده از گواهی ssl برای دامنه های مختلف بر روی یک ip.
  11. پشتیبانی از SPDY
  12. پشتیبانی از OCSP
  13. پشتیبانی از SCGI
  14. پشتیبانی از uWSGI
  15. پشتیبانی از gZIP: محبوب ترین متد برای فشرده سازی اطلاعات قبل از ارسال به سمت کلاینت
  16. پشتیبانی از gRPC
  17. پشتیبانی از FastCGI: مششابه CGI اما بهینه تر از آن
  18. پشتیبانی از XSLT
  19. پشتیبانی از HTTP Caching: امکان مدیریت کامل کشینگ HTTP.
  20. پشتیبانی از WebSockets
  21. قابلیت Fault tolerance
  22. قابلیت Bandwidth throttling
  23. قابلیت Load balancing: یک لود بالانسر و توزیع کننده بار قدرتمند است که ترافیک را بین سرورهای مختلف تقسیم میکنه.
  24. قابلیت URL rewriting: آدرس ها رو میتونه بازنویسی کنه.
  25. قابلیت FastCGI Cache: کش نهان nginx که نتیجه پردازشهای fastcgi را بصورت key:value در RAM سرور کش میکنه و باعث صرفه جویی در مصرف منابع سرور برای فرایندهای های تکراری میشه.
  26. قابلیت Server Block: امکان استفاده از دامنه ها، پورت ها و پروتکل های متفاوت بصورت مستقل از هم برای میزبانی سایتها و اپلیکشن های مختلف.
  27. امکان استفاده به عنوان Reverse Proxy: به عنوان میانجی بین سرور های اصلی و کاربران عمل میکنه. پردازش های استاتیک را خودش هندل میکنه و پردازش های داینامیک را به سروری که مشخص شده منتقل میکنه و نتیجه را به کاربر برمیگردونه.
  28. امکان استفاده به عنوان Mail (SMTP/IMAP/POP) Proxy

معایب انجین ایکس

  1. عدم پشتیبانی از فایل htaccess: این وبسرور از فایل پیکربندی مخصوص به خود با نام nginx.conf پشتیبانی میکنه و دستورات آن بسیار متفاوت است
  2. آموزش و مستندات کم به زبان فارسی: متاسفانه در وب فارسی آموزشهای کمی در مورد این وب سرور وجود دارد. بهتره بگیم نوعی انحصار که تنها چند شرکت معدود دانش و توانایی کار با این وب سرور را دارد. علت اینکه اولین مقاله وبلاگم رو به nginx اختصاص دادم همینه.
  3. دشوار بودن نصب، پیکربندی و بهینه سازی آن: نصب و پیکربندی انجین ایکس کار راحتی نیست! نیاز به دانش و مهارت بالایی برای پیکربندی و بهینه سازی داره. اگه بخوبی و اصولی پیکربندی نشه عملکرد ضعیفی ارایه میده. [اما این چیزی از قابلیت  ها و ارزش nginx کم نمیکنه. در مقالات آتی حتما آموزش های این وب سرور را قرار میدیم.]

تاریخچه NGINX

همه چیز با چالش C10K در سال ۲۰۰۲ شروع شد! احساس نیاز به وب سروری که بتواند بالای ۱۰ هزار درخواست را بصورت همزمان پاسخ دهد. مهندسان زیادی برای حل این چالش دست به کار شدند.

به دنبال این چالش نرم افزار انجین ایکس در سال ۲۰۰۴ توسط شخصی به نام Igor Sysoev مهندس نرم افزار روسی ارایه شد . وی در سال ۲۰۱۱ کمپانی Nginx را داخل ایالت کالیفرنیا تاسیس کرد. وبسایت این کمپانی به آدرس www.nginx.com در حال حاضر یکی از بزرگترین منابع در مورد Nginx است و مستندات بسیار خوبی داره. همچنین میتوانید انجین ایکس را بصورت رایگان از این سایت دریافت کنید.

تفاوت NginX و Nginx Plus در چیست؟

دو نسخه متفاوت از این وب سرور محبوب وجود دارد. یک نسخه رایگان به‌نام انجین ایکس و یک نسخه تجاری به نام انجین ایکس پلاس که نسبت به نسخه رایگان امکانات بیشتری داره.

انجین ایکس پلاس چه قابلیت هایی دارد؟

  1. بررسی مداوم و لحظه ای عملکرد صحیح سیستم
  2. پایداری جلسات
  3. کنترل بهتر کش
  4. قابلیتهای بیشتر برای لود بالانسرها
  5. دیوار آتش نرم افزاری WAF
  6. کنترل بهتر پهنای باند برای استریم
  7. ...

منبع این مقاله: https://www.halafi.ir/blog/nginx

انجین ایکس
https://www.halafi.ir/
شاید از این پست‌ها خوشتان بیاید