وب سرور Nginx چیست و چگونه کار می‌کند؟

NGINXوب سرور NGINX یک سرور وب قدرتمندتصور کنید که شما یک برنامه وب ایجاد کرده اید و اکنون در جستجوی سرور وب مناسب برای میزبانی از آن هستید. برنامه شما ممکن است شامل چندین فایل استاتیک،HTML ، CSS و JavaScript، یک سرویس API با پس زمینه یا حتی چندین سرویس وب باشد. ممکن است استفاده از Nginx همان چیزی باشد که به دنبال آن هستید و دلایل زیادی برای آن وجود دارد. NGINX یک سرور وب قدرتمند است و از معماری بدون موضوع و رویداد محور استفاده می کند که در صورت پیکربندی صحیح، آن را قادر می سازد تا از حداکثر توان خود استفاده کند. همچنین می تواند کارهای مهم دیگری مانند توازن بار و ذخیره سازی HTTP را انجام دهد یا به عنوان یک پروکسی معکوس مورد استفاده قرار گیرد. دو روش برای نصب NGINX وجود دارد، می‌توانید با استفاده از یک باینری از پیش ساخته شده، یا ساخت از منبع، آن را نصب کنید. روش اول بسیار ساده و سریعتر است، اما ساختن آن از منبع، امکان گنجاندن ماژول های شخص ثالث مختلف را فراهم می آورد که NGINX را بسیار قدرتمندتر می کند. همچنین این امکان را به ما می دهد تا متناسب با نیاز برنامه، آن را سفارشی کنیم.پیکربندی NGINX چگونه است؟با توجه به نیازها، شما می توانید چیزهای مختلفی را در این پرونده مرتب سازی کنید، اما NGINX آنچنان ساده است که می توانید حتی با تنظیمات پیش فرض هم پیش بروید. برخی از مهمترین قطعات فایل پیکربندی NGINX عبارتند از:۱٫ Working_processes: این تنظیم تعداد فرآیندهای کارگر را که NGINX از آنها استفاده خواهد کرد، تعریف می کند. از آنجا که NGINX تک رشته ای است، معمولا این تعداد باید برابر با تعداد هسته های CPU باشد.۲٫ Working_connention: این مورد تعداد حداکثر اتصالات همزمان برای هر فرآیند کارگر است و به کارگر ما می گوید که چگونه می توان به بسیاری از افراد به صورت همزمان توسط NGINX خدمات ارائه داد. هرچه این متغیر بزرگتر باشد، کاربران NGINX همزمان می توانند خدمات بیشتری داشته باشند.۳٫ Access_log & error_log: این پرونده هایی هستند که NGINX برای ثبت هرگونه خطا و تلاش برای دسترسی از آنها استفاده خواهد کرد. این لیست های مربوط، به طور کلی برای اشکال زدایی و عیب یابی بررسی می شوند.۴٫ Gzip: این تنظیمات مربوط به فشرده سازی GZIP از پاسخ های NGINX است. فعال کردن این مورد به همراه زیر مجموعه های مختلفی که دارد، باعث ارتقاء عملکرد بسیار بزرگی خواهد شد. از زیر تنظیمات GZIP باید به gzip_comp_level که سطح فشرده سازی نامی‌ده می‌شود و از ۱ تا ۱۰ متغیر است دقت کنید. به طور کلی، این مقدار نباید بالاتر از ۶ باشد. هر چه این عدد بزرگتر باشد به همان نسبت، به استفاده CPU بیشتری احتیاج دارد.وب سرور NGINX چگونه کار می‌کند؟با نصب NGINX شما می توانید خیلی بیشتر از یک وب سایت واحد را پشتیبانی کنید. پرونده هایی که سایت های سرور شما را تعریف می کنند در فهرست سایتهای موجود زندگی می کنند. با این حال، پرونده های این دایرکتوری زنده (Live) نیستند. شما می توانید همانطور که می خواهید، تعداد فایلهای تعریف سایت را در اینجا داشته باشید، اما NGINX در واقع هیچ کاری با آنها انجام نخواهد داد مگر اینکه در فهرست فعال شده سایتها قرار داشته باشند. همچنین می توانید آنها را در آنجا کپی کنید، اما همگام سازی اطمینان می دهد که فقط یک نسخه از هر پرونده برای پیگیری وجود دارد. این روش به شما امکان می دهد تا وب سایت‌ها را، به سرعت آنلاین کنید و آنها را به صورت آفلاین و بدون نیاز به حذف پرونده‌ها قرار دهید. هنگامی که یک سایت برای آنلاین شدن آماده است، آن را به صورت فعال در سایت‌ها همگام سازی کرده و NGINX را مجددا راه اندازی کنید.متن سرور، یک سرور مجازی خاص را برای رسیدگی به درخواست های مشتری شما تعریف می کند. می توانید چندین بلوک سرور داشته باشید و NGINX بر اساس بخشنامه listen و server_name بین آنها انتخاب خواهد کرد. در داخل بلوک سرور، چندین زمینه موقعیت مکانی را تعریف می کنیم که برای تصمیم گیری در مورد نحوه رسیدگی به درخواست های مشتری تعریف می شوند. هرگاه درخواستی وارد شود، NGINX سعی خواهد کرد URI خود را با یکی از آن تعاریف موقعیت مکانی مطابقت دهد و مطابق با آن رفتار کند. بسیاری از دستورالعمل های مهم وجود دارد که می تواند در متن موقعیت مکانی مورد استفاده قرار گیرد، مانند:۱٫ try_files: سعی خواهد کرد که یک پرونده استاتیک موجود در زیر پوشه را که به راهنمای root اشاره دارد، ارائه دهد.۲٫ proxy_pass: درخواست را به سرور پروکسی مشخصی ارسال می کند.۳٫ Rewrite: در واقع URI ورودی را بر اساس یک عبارت معمولی بازنویسی می کند تا یک بلوک موقعیت مکانی دیگر بتواند آن را اداره کند.مقالات جدید در وب سایت