انجین ایکس (Nginx) یکی از برترین و قدرتمند ترین وب سرورهای جهان است که سرعت و مقیاس پذیری بالایی داره. انجین ایکس ساخته شده برای کار های بزرگ و ترافیک های سنگین رو بخوبی مدیریت میکنه
ویژگی ها و قابلیت های انجین ایکس
وب سرور کارامد NGINX مزایا و امکانات زیادی دارد که در ادامه بصورت فهرست وار با توضیحاتی کوتاه برای شما نوشتیم:
رایگان است: انجین ایکس همیشه رایگان است و شما میتوانید از سایت رسمی اش آن را دریافت و بروز رسانی کنید.
متن باز است: میتوانید از سایت رسمی اش سورس آن را دریافت کرده و تغییرات مورد نظرتان را بر روی آن اعمال کنید. هیچ محدودیتی وجود ندارد!
استفاده بهینه از RAM سرور: به بهترین شکل ممکنواز رم سرور استفاده میکند.
احراز هويت HTTP: بصورت توکار قابلیت اعتبارسنجی کاربران را داراست.
پشتیبانی از IPV4: از آی پی ورژن ۴ پشتیبانی میکنه.
پشتیبانی از IPV6: از آیپی ورژن ۶ هم پشتیبانی میکنه.
پشتیبانی از SSL: برای رمزنگاری ترافیک ببن سرور و کلاینت.
پشتیبانی از TLS: مشابه ssl برای رمزنگاری استفاده میشود.
پشتیبانی از STARTTLS: نسل جدیدی از رمز نگاری ترافیک برای جلوگیری از شنود.
پشتیبانی از SNI: برای استفاده از گواهی ssl برای دامنه های مختلف بر روی یک ip.
پشتیبانی از SPDY
پشتیبانی از OCSP
پشتیبانی از SCGI
پشتیبانی از uWSGI
پشتیبانی از gZIP: محبوب ترین متد برای فشرده سازی اطلاعات قبل از ارسال به سمت کلاینت
پشتیبانی از gRPC
پشتیبانی از FastCGI: مششابه CGI اما بهینه تر از آن
پشتیبانی از XSLT
پشتیبانی از HTTP Caching: امکان مدیریت کامل کشینگ HTTP.
پشتیبانی از WebSockets
قابلیت Fault tolerance
قابلیت Bandwidth throttling
قابلیت Load balancing: یک لود بالانسر و توزیع کننده بار قدرتمند است که ترافیک را بین سرورهای مختلف تقسیم میکنه.
قابلیت URL rewriting: آدرس ها رو میتونه بازنویسی کنه.
قابلیت FastCGI Cache: کش نهان nginx که نتیجه پردازشهای fastcgi را بصورت key:value در RAM سرور کش میکنه و باعث صرفه جویی در مصرف منابع سرور برای فرایندهای های تکراری میشه.
قابلیت Server Block: امکان استفاده از دامنه ها، پورت ها و پروتکل های متفاوت بصورت مستقل از هم برای میزبانی سایتها و اپلیکشن های مختلف.
امکان استفاده به عنوان Reverse Proxy: به عنوان میانجی بین سرور های اصلی و کاربران عمل میکنه. پردازش های استاتیک را خودش هندل میکنه و پردازش های داینامیک را به سروری که مشخص شده منتقل میکنه و نتیجه را به کاربر برمیگردونه.
امکان استفاده به عنوان Mail (SMTP/IMAP/POP) Proxy
معایب انجین ایکس
عدم پشتیبانی از فایل htaccess: این وبسرور از فایل پیکربندی مخصوص به خود با نام nginx.conf پشتیبانی میکنه و دستورات آن بسیار متفاوت است
آموزش و مستندات کم به زبان فارسی: متاسفانه در وب فارسی آموزشهای کمی در مورد این وب سرور وجود دارد. بهتره بگیم نوعی انحصار که تنها چند شرکت معدود دانش و توانایی کار با این وب سرور را دارد. علت اینکه اولین مقاله وبلاگم رو به nginx اختصاص دادم همینه.
دشوار بودن نصب، پیکربندی و بهینه سازی آن: نصب و پیکربندی انجین ایکس کار راحتی نیست! نیاز به دانش و مهارت بالایی برای پیکربندی و بهینه سازی داره. اگه بخوبی و اصولی پیکربندی نشه عملکرد ضعیفی ارایه میده. [اما این چیزی از قابلیت ها و ارزش nginx کم نمیکنه. در مقالات آتی حتما آموزش های این وب سرور را قرار میدیم.]
تاریخچه NGINX
همه چیز با چالش C10K در سال ۲۰۰۲ شروع شد! احساس نیاز به وب سروری که بتواند بالای ۱۰ هزار درخواست را بصورت همزمان پاسخ دهد. مهندسان زیادی برای حل این چالش دست به کار شدند.
به دنبال این چالش نرم افزار انجین ایکس در سال ۲۰۰۴ توسط شخصی به نام Igor Sysoev مهندس نرم افزار روسی ارایه شد . وی در سال ۲۰۱۱ کمپانی Nginx را داخل ایالت کالیفرنیا تاسیس کرد. وبسایت این کمپانی به آدرس www.nginx.com در حال حاضر یکی از بزرگترین منابع در مورد Nginx است و مستندات بسیار خوبی داره. همچنین میتوانید انجین ایکس را بصورت رایگان از این سایت دریافت کنید.
تفاوت NginX و Nginx Plus در چیست؟
دو نسخه متفاوت از این وب سرور محبوب وجود دارد. یک نسخه رایگان بهنام انجین ایکس و یک نسخه تجاری به نام انجین ایکس پلاس که نسبت به نسخه رایگان امکانات بیشتری داره.