تنظیمات و بهینه سازی وب سرور nginx

تنظیمات و بهینه سازی وب سرور nginx

[ad_1]

حتما نام nginx را شنیده اید و یا حتما از این وب سرور قدرتمندی که فقط چندی سال از ظهورش میگذرد استفاده میکنید.

Nginx سرعت پاسخگویی بسیار بالایی دارد و در بازدید های بسیار بالا واقعا عالی عمل می کند. از جمله قابلیت های Nginx سازگاری این وب سرور با اکثر توزیع های لینوکس هست. مستندات Nginx به نظر بسیار خوب هست و فروم Nginx هم بسیار بهتر،  من خودم اکثر سوالاتم رو در این سایت در زمان بسیار کوتاهی دریافت می کنم و این برای من بسیار ارزشمند هست. بروز رسانی و نصب Nginx  بسیار ساده است و یکی از قابلیت های خوب Nginx این هست.
در زمانی که شما می خواهید به نسخه جدید تر   Nginx خودتون رو اپگرید کنید به صورت on the fly این کارو انجام می دهد و این مورد در پروژه هایی که نباید سایت داون تایم داشته باشه خیلی اهمیت داره.
ما در این پست به آموزش نحوه نصب Nginx نمیپردازیم. در این آموزش ما نحوه تنظیمات و پیکربندی وب سرور nginx برای بازده ایه سرعت و پاسخ دهی بیشتر میپردازیم

توجه داشته باشید این آموزشی در نسخه های ۱٫۶ و ۱٫۷ تست شده است.

ابتدا با دستور زیر فایل کانفیگ وب سرور nginx را ویرایش میکنیم:

پس از وارد کردن دستور زیر به دنبال مقادیر دو خط زیر بگردید که بترتیب به صورت پیشفرض ۱ و ۱۰۲۴ میباشد.

این ۲ مقدار میتوان گفت مهمترین بخشاز تنظیمات این وب سرور میباشد  و درصورت تنظیم صحیح نتیجه ای ایده ال خواهد داشت:

عبارت worker_connections به معنی توانایی میزبانی افراد/ثانیه است که در اینجا ۱۰۲۴نفر در ثانیه داریم.

برای فهمیدن میزان قابل تنظیم worker processes دستور زیر را وارد کنید:

خروجی بالا میتواند مقدار مناسبی برای  worker processes باشد.

همینطور خروجی دستور زیر نیز مقدار مناسبی برای worker_connections باشد:

Buffers

یکی دیگر از مهمترین بخش ها برای کانفیگ nginx بخش buffers میباشد.

و اگر اندازه آن پایین باشد nginx مجبور به نوشتن temporary file میشودکه نتیجه افزایش استفاده از هاردیسک و read and write مداوم است.

اکنون قبل از تغییر این مقادر میبایستی با موارد زیر آشنا شوید:

client_body_buffer_size: یک client buffer size به معنی ارسال اکشن POST برای وب سرور است(اکشن POST به صورت مدارم ارسال میشود.)

client_header_buffer_size:مانند قبلی با این تقاوت که client header size است و بهترین مقدار آن ،‌ ۱K میباشد.

client_max_body_size: تعیین کننده بیشتر حجم درخواست کاربر به سرور است. در صورتی که درخواست بیش از حد Max باشد عبارت ۴۱۳ error یا Request Entity Too Large را به کاربر نشان میدهد.

large_client_header_buffers:همانطور که از نامش پیداست به معنی حداکثر اندازه Buffer ها برای large client headers است.

Timeouts

مقدار ها client_body_timeout و client_header_timeout مهمترین این بخش هستند(به زبان ساده کارشان این است که مسئول داکثر زمان برای منتظر ماندن برای درخواست کاربر هستند و در صورتی که با Timeout مواجه شوند عبارت ۴۰۸ error یا Request time out به کاربر نشان میدهند.)

keepalive_timeout نیز به زبان ساده به معنی زمان قطع اتصال کاربر به سرور در هر دوره توسط nginxاست.

و در نهایت send_timeout به عبارتی زمانی است که کاربر فعالیتی نکند – درخوستی ارسال نشود –  که در این صورتnginx اتصال را قطع میکند.

فشرده سازی GZip

با Gzip میتوان انتقال اطلاعات شبکه بین کاربر و سرور تا حد زیادی کاهش داد با این حال توجه داشته باشید در صورت افزایش gzip_comp_level به اصطلاح باعث اتلاف سیکل Cpu میشود.(Wasting Cpu Cycles )

Static File Caching
 
به کمک این بخش قادرید تاریخ انتقضای برای فایل ها که اکثر مواقع در سرور تغییر نمیکنند تعیینکنید:

پسوند مورد نظر را در خط بالا مانند jps , css , js اضافه کنید.

عملیات Log برداری:

درصورتی که به این قسمت نیازی ندارید میتوانید با تغییر دستور زیر این عملیات را غیرفعال کنید:

اکنون تغییرات را ذخیره و دستور زیر را وارد سپس تغییرات را مشاهده کنید!!

امیدوارم این آموزش مفید واقع شده باشد.

نوشته تنظیمات و بهینه سازی وب سرور nginx اولین بار در وان سرور | هاست | سرور مجازی | سرور اختصاصی | ثبت دامین پدیدار شد.

[ad_2]

لینک منبع

بازگشت به صفحه قبل
×