وب سرور Nginx چیست؟
به صورت خلاصه، به مجموعه نرم افزارهایی که بر اساس درخواست های کاربران داده هایی را پردازش و نتایج را مجددا از طریق پروتکل های آنلاین نمایش میدهند وب سرور گفته میشود.
Nginx نیز نوعی وب سرور میباشد که البته میتواند به عنوان Reverse Proxy نیز استفاده گردد. پیدایش Nginx به سال 2002 برمیگردد که در آن زمان وب سرور ها بسیار کند بوده و معمولا در درخواستهای بالا و پردازش هایی زیاد دچار مشکل بودند. اولین نسخه این وب سرور رایگان و محبوب در سال 2004 معرفی شد در مدت 13 سال گذشته بیش از 12 درصد از سهم وب سرور های دنیا را به خود اختصاص داده است.
وب سرور Nginx قابلیت های کلیدی بسیار زیادی دارد که باعث شده است محبوبیت این وب سرور بالا باشد، یکی از اولین قابلیت های آن، رایگان و اوپن سورس بودن این وب سرور میباشد. همچنین وجود پلترفرم های مناسب برای سرورهای لینوکس و ویندوز نیز باعث شده است کاربران زیادی بتوانند از این وب سرور براحتی استفاده کنند. البته نباید فراموش کرد که Nginx در ویندوز نقش نمایشی بیش ندارد و عملا پرفرنس بسیار بالایی را نمیتواند نمایش دهد.
اساسی ترین قابلیت کلیدی Nginx چیست؟
یکی از اساسیترین قابلیت های Nginx را مصرف ثابت رم در فشارهای بالا میباشد، تکنولوژی استفاده شده درپردازش این وب سرور باعث شده است تا در درخواستهای بالا نیز شاهد ثبات استفاده میزان Ram سرور باشیم.
وب سرور ها به روش های مختلف درخواست ها را پردازش میکنند و Nginx نیزاز روش استفاده میکند. در این روش برای درخواست های متفاوت یک Thread جدید ایجاد میکند و در pool این Thread ها نیز نگهداری میشوند تا درخواستهای جدید از Thread های بیکار در Pool استفاده کنند.
این قابلیت باعث میگردد که مجموعه از Thread های آماده به کار داشته باشیم تا با اولین درخواست بدون اینکه درخواست در صف قرار گیرد اولین Thread شروع به پردازش کند. این روش باعث بهینه مصرف شدن پردازشگر و Ram سرور میگردد.
البته استفاده تنها از این وب سرور محبوب مشکلاتی نیز دارد که بایستی آنها را در نظر گرفت. به عنوان مثال در صورتی که روی سی پنل ، دایرکت ادمین و یا پلسک قصد استفاده از Nginx به تنهایی را دارید نیاز دارید تا رول های .htaccess را به رول های قابل فهم برای Nginx تبدیل کنید. البته این تبدیل نیاز نیست که بصورت دستی انجام گیرد و روی کنترل پنل های مذکور معمولا پلاگین هایی نیز وجود دارد که شما را بی نیاز به داشتن دانش فنی در زمینه رول های Nginx میکند.
همچنین عدم تولید اتوماتیک Vhost ها در این وب سرور از مشکلات دیگر Nginx برای مدیران هاست ها میباشد که در هاست اشتراکی اندکی کار را برای مدیران سخت کرده است. که البته برای رفع این مشکلات نیز پلاگین هایی توسط افراد مختلف تهیه و درحال توسعه میباشد.
Nginx فقط وب سرور نیست!
شما علاوه بر Nginx به عنوان وب سرور میتوانید به عنوان Reverse Proxy در کنار آپاچی نیز استفاده کنید. در این روش میتوان درخواست های استاتیک را جهت پردازش به Nginx سپرد و درخواست پردازش داینامیک را به آپاچی سپرد. در واقع Nginx در این روش در سر راه آپاچی قرار میگرد تا درخواستی مد نظر از طریق انجینیکس پردازش گردند. بدین منظور پلاگین هایی نیز برای سی پنل و دایرکت ادمین و همچنین پلسک وجود دارد که شما به راحتی میتوانید وضعیت سرویس را چک و یا غیرفعال کنید.
همچنین با توجه به اینکه در این روش Nginx به عنوان پروکسی استفاده میگردد در نتیجه نیازی به ایجاد Vhost ها توسط انجینیکس نیست و خود آپاچی تمامی این موارد را هندل میکند. پس با این حساب مشکلی از این بابت نیز توسط Nginx برای شما ایجاد نخواهد شد. با استفاده از سیستم های کش در Reverse Proxy اینجینکیس باعث میگردد که سرعت لود صفحات استاتیک بصورت قابل توجهی بالا باشد.
علاوه بر این Nginx را میتوان حتی به عنوان پروکسی در سر راه سرویس ایمیل نظیر Imap/POP نیز قرار داد که البته بسیار کاربردی نمیباشد و معمولا مدیران هاستینگ سعی میکنند خود را علاوه بر پردازش استاتیک ها در موارد دیگری خود را درگیر Nginx نکنند.
نصب Nginx در کنترل پنل های دایرکت ادمین و پلسک بصورت پیش فرض توسط خود این کنترل پنل ها پشتیبانی میگردد. در دایرکت ادمین شما با استفاده از Custom Build نسخه 2 خود دایرکت ادمین میتوانید Nginx را نصب و مدیریت کنید.
همچنین در پلسک نیز توسط ابزار نصبی موجود در Tools خود پلسک قادر هستید با یک کلیک Nginx را نصب و از طریق قسمت سرویس ها آن را در کنار آپاچی به عنوان پروکسی تنظیم کنید.
نصب Nginx در سی پنل نیز ساده میباشد ولی متاسفانه خود سی پنل بصورت پیشفرض از این وب سرور پشتیبانی نمیکند و در صورتی که نیاز داشته باشید روی سیپنل از Nginx استفاده کنید مجبور هستید از پلاگین های رایگان و تجاری موجود برای این مورد استفاده کنید که نصب آنها نیز همواره به اجرای یک خط دستور قابل انجام میباشد.