بهینه سازی سرور ابری WHM

در مرکز محتوای سرور دات آی آر
در این مقاله قرار است نگاهی به بهینه سازی سرورهای خصوصی مجازی Centos در حال اجرا WHM بیاندازیم و وب سایت‌های سریع‌تری را برای مشتریان شما فراهم کنیم. چند عامل مهم برای هر سرویس مجازی وجود دارد: امنیت، سرعت و سهولت استفاده برای کاربران.

بهینه سازی امنیت

امروزه دیگر نمی‌توانید از امنیت به عنوان وسیله‌ای برای ارائه خدمات گران‌تر به مشتریان خود استفاده کنید که این مسئله نوید امنیت بیشتر را برای مشتریان ممتاز می‌دهد. شما برای همه مشتریان بدون توجه به سطح قرارداد خدماتی که با شما منعقد کرده اند، انتظار می رود  خدمات‌رسانی خود را تقویت کنید تا سطح امنیتی قابل قبول را به همه ارائه دهید.

فایروال csf

چندین افزونه وجود دارد که می‌توانید برای WHM نصب کنید که می‌تواند به مدیریت امنیت کمک کند. اولین مورد امنیت و فایروال سرور پیکربندی (CSF) است. پس از نصب CSF، به صفحه افزونه واقع در پایین نوار کناری WHM بروید. در آن‌جا می‌توانید برای تنظیمات امنیتی مهم به مرکز کنترل پلاگین CSF دسترسی داشته باشید.
پس از نصب CSF، باید تنظیمات پیش‌فرض را تغییر دهید. از منوی تنظیمات افزونه CSF به بخش تنظیمات فایروال بروید. در این‌جا چند گزینه برای تنظیم پیش‌تنظیم امنیت جهانی وجود دارد. شروع از "متوسط" روش استاندارد است.
افزونه CSF می‌تواند یک ممیزی امنیتی برای سرور شما ارائه دهد. در منوی اصلی افزونه CSF، روی گزینه “Security Check” کلیک کنید. با این کار لیستی از نکات برای بهبود امنیت سرور شما ایجاد می‌شود. 
در پایین گزارش یک امتیاز امنیتی وجود دارد و سطح امنیت کلی سرور شما را بین امنیت ناامن و حداکثر قرار می‌دهد. اگر مطمئن نیستید که هنوز چه چیزی به امنیت بهتر نیاز دارد، این ابزار راهی مفید برای فهمیدن این که چه کاری باید انجام شود، است. شما نیازی به ایجاد تک تک تغییرات پیشنهادشده توسط CSF ندارید؛ هر تنظیم منحصربه‌فرد بوده و گاهی اوقات ممکن است انجام اقدامات خاصی ممکن یا معقول نباشد. احتمالاً بهتر است برای قسمت زرد یا سبز بالای نمودار عکس بگیرید.
بهینه‌سازی سرور ابری WHM

مشاور امنیتی “security advisor”

یکی دیگر از ابزارهای ممیزی امنیتی مفیدی که می‌توانید استفاده کنید، «مشاور امنیتی» بوده که بسیار شبیه به CSF است. مشاور امنیت سرور شما را اسکن می‌کند، مشکلات احتمالی را برمی‌گرداند و آن‌ها را در قالب یک لیست با کد رنگی از نظر شدت نمایش می‌دهد. همچنین نکاتی را برای اصلاح این مسائل و محافظت از خود ارائه می‌دهد.

پس از نصب افزونه، به صفحه افزونه خود در WHM بروید و «ابزار مشاور امنیتی» را انتخاب کنید. از آن‌جا، “اسکن” را برای شروع اسکن انتخاب کنید. نتایج به اندازه CSF پرمخاطب یا کامل نیستند، اما یک ابزار عالی برای استفاده در ارتباط با آن است.

بهینه‌سازی سرور ابری WHM

بهینه سازی سرعت

سرعت یکی از مهم‌ترین چیزهایی است که باید در سرورهای مشتریان بهبود یابد، زیرا این قابل مشاهده‌ترین تغییری است که می‌توانید ایجاد کنید و به شما امکان می‌دهد مستقیماً با رقبای خود مقایسه کنید. هیچ کس متوجه چیزی مانند امنیت نمی‌شود، مگر این که مشکلاتی وجود داشته باشد که از آن‌ها استفاده شود و آپتایم فقط در دراز مدت قابل اثبات است. سرعت یک بهبود قابل‌اندازه گیری فوری برای مشتریان شما است. ما قصد داریم چند نکته و ترفند مفید را برای بهبود سرعت راه اندازی WHM مبتنی بر CentOS پوشش دهیم.

همه نکات برای هر موقعیتی ایده آل نیستند. برخی هزینه خواهند داشت، برخی دیگر برای راه‌اندازی زمان صرف می‌کنند و برخی حتی ممکن است معاوضی بین امنیت و سرعت باشد. اول، چیزهایی را که می‌توانید با WHM به درستی تغییر دهید. در پنل WHM، به صفحه «تنظیمات توییک» بروید. می‌توانید از کادر جستجو برای یافتن سریع تنظیمات مورد نیاز خود از آن‌جا استفاده کنید. در زیر فهرستی از تنظیماتی است که می‌توانید برای بهبود عملکرد تغییر دهید، اما لطفاً توجه داشته باشید که ممکن است با نکات امنیتی ارائه‌شده توسط CSF یا Security Advisor مغایرت داشته باشند. ماسک تغییرات به اختیار خود شما. Mailman را خاموش کنید:

بهینه‌سازی سرور ابری WHM

زمان تلاش مجدد تحویل ایمیل را از 15 دقیقه پیش فرض به 30 دقیقه به‌روز کنید.
بهینه‌سازی سرور ابری WHM
boxtrapper Spam Trap و SpamAssassin Spam Box را خاموش کنید.
اگر فقط وب‌سایت خود را دارید که روی VPS اجرا می‌شود، می‌توانید با غیرفعال‌کردن محاسبات دیسک MYSQL با غیرفعال‌کردن «شامل پایگاه‌های داده در محاسبات استفاده از دیسک»، منابع مورد استفاده در سرور را کاهش دهید. به خاطر داشته باشید که این امر باعث ایجاد اختلاف بین آن‌چه WHM برای کل استفاده از دیسک نشان می‌دهد و آن‌چه در واقع استفاده خواهد شد، می‌شود.
بهینه‌سازی سرور ابری WHM

بهینه‌سازی وب‌سرور آپاچی 

بهینه‌سازی آپاچی عملکرد کلی سایت شما را بدون به‌روزرسانی سخت‌افزار یا گسترش VPS شما بهبود می‌بخشد. برای بهبود عملکرد خود در آپاچی، WHM در تنظیمات آن کاملاً محدود است.

در WHM، به

Home >> Service Configuration >> Apache Configuration >> Global Configuration

بروید.

Keep-Alive

هنگامی که روی “روشن” تنظیم می‌شود، Keep-Alive یک اتصال دائمی بین سرور شما و کاربر را فعال می‌کند و جلسات HTTP طولانی مدت ارائه خواهد داد که اجازه می‌دهد چندین درخواست از طریق یک اتصال TCP ارسال شود. در برخی موارد، این می‌تواند تقریباً 50 درصد کاهش تاخیر را برای صفحاتی با تصاویر زیاد به همراه داشته باشد. برای فعال کردن Keep-Alive در Apache 1.2 یا جدیدتر، KeepAlive را روشن کنید.

MaxKeepAliveRequests

این مقدار تعداد درخواست‌های مجاز به ازای هر اتصال را هنگامی که KeepAlive فعال است، تعیین می‌کند. هنگامی که مقدار این گزینه روی “0” تنظیم شود، درخواست‌های نامحدود روی سرور مجاز خواهد بود. برای عملکرد سرور، توصیه می‌شود درخواست‌های نامحدود را مجاز کنید، مگر این که دلیل امنیتی یا تعادل بار برای محدود کردن آن داشته باشید.

KeepAliveTimeout

این مقدار تعداد آپاچی‌های دومی را مشخص می‌کند که قبل از بستن اتصال برای درخواست بعدی منتظر می‌ماند. 10 یک عدد خوب و سخاوتمندانه برای پر کردن در این‌جا است. این زمان را پایین نگه دارید،  زیرا بیکار نگه داشتن سوکت برای مدت طولانی اتلاف منابع است.

MaxClients

این مقدار تعداد پردازش‌های فرزندی را که می‌توان برای ارائه درخواست‌های HTTP ایجاد کرد، تعیین می‌کند. عدد پیش‌فرض 512 به این معنی است که تا 512 درخواست همزمان قابل رسیدگی است. این یک پارامتر مهم برای تنظیم شرایط شما است. برای عملیات بارگذاری بالاتر، پیش فرض 512 قابل قبول است. 256 برای شرایط استانداردتر مناسب است. شما باید این را بر اساس آن‌چه سرور شما می‌تواند انجام دهد، به درستی انجام دهید. این محدودیت برای تعداد فرآیندهای مشتری عمدتاً حافظه است. ابتدا دریابید که سایر فرآیندهای سرور شما چقدر حافظه مصرف می‌کنند، سپس مقداری بافر بگذارید. حدود 20 درصد باید انجام دهند. حدود 75 مگابایت در هر فرآیند مشتری را فرض کنید، به عبارت دیگر:

(Total Memory – (Other Processes * 1.2)) / 75MB = Max clients

در نتیجه خطا در سمت فرآیندهای مشتری کمتر صورت می‌گیرد.

MinSpareServers and MaxSpareServers

این مقدار حداقل تعداد فرآیندهای فرزندی را که باید همیشه وجود داشته باشند، بی‌حرکت و آماده پذیرش درخواست هستند، تعیین می‌کند. اگر مقدار «MinSpareServers» کمتر یا بیشتر از مقدار «MaxSpareServer» باشد، فرآیند والد تعداد پردازش‌های فرزند بی‌کار را با نرخ 1 در ثانیه تنظیم می‌کند. حداقل را روی “10” و حداکثر را روی “15” تنظیم کنید.

MaxRequestsPerChild

این گزینه برای تعریف تعداد درخواست‌هایی که یک پردازشگر فرزند سرور جداگانه انجام می‌دهد، استفاده می‌شود. گذاشتن این مقدار در مقدار پیش‌فرض «0»، تعداد درخواست‌هایی را که کودک می‌تواند قبل از مرگش انجام دهد و درخواست جدیدی به جای آن ارسال شود، محدود نمی‌کند. از نظر فنی سریع‌تر است که اجازه دهید این‌ها هرگز نمیرند، زیرا با ساختن آپاچی های جدید نمی‌سوزانند، اما این می‌تواند منجر به مشکلات نشت حافظه برای فرآیندهای قدیمی شود که یک مشکل است. تعداد درخواست‌هایی را که در یک روز دریافت می‌کنید، در کل مشخص کنید و بر تعداد پردازش‌های فرزندتان تقسیم کنید. این به شما عدد ایده‌آلی را برای زنده نگه‌داشتن یک فرآیند در حدود یک روز می‌دهد و بار ایجاد فرآیندهای فرزند جدید را تا حدی پراکنده می‌کند که واقعاً بر عملکرد تأثیر نمی‌گذارد، اما فرآیندها را آن‌قدر زنده نگه نمی‌دارد که نشت حافظه ایجاد شود.

حتی اگر مطمئن نیستید، “2500” ارزش خوبی برای شروع است. این مقدار را خیلی پایین قرار ندهید، دلیلی برای کشتن و راه اندازی مجدد این فرآیندها وجود ندارد.

HostnameLookups

وقتی روی “خاموش” تنظیم شود، این گزینه جستجوهای DNS را غیرفعال می‌کند. توصیه می‌شود برای جلوگیری از تأخیر در هر درخواست، این گزینه را روی خاموش تنظیم کنید. این همچنین باعث کاهش ترافیک شبکه و بهبود عملکرد وب سرور آپاچی شما می‌شود. برای امنیت، غیرفعال‌کردن فهرست‌های دایرکتوری نیز ایده خوبی است. می‌توانید این کار را با رفتن به بخش «گزینه‌های فهرست» در صفحه پیکربندی جهانی انجام دهید. در آنجا می‌توانید نمایه‌سازی را غیرفعال کنید.

MySQL را بهینه کنید

در یک محیط پویا، پیکربندی صحیح تنظیمات SQL بسیار سودمند است. فایل my.cnf خود را پیدا کنید و آن را با فایل زیر جایگزین کنید:

[mysqld]
local-infile=0
max_allowed_packet = 1M
max_connections = 300
max_user_connections = 35
wait_timeout=40
connect_timeout=10
[mysqldump]
quick max_allowed_packet = 16M

InnoDB

برای کاهش مصرف حافظه، باید تمام جداول InnoDB خود را در صورت وجود به MyISAM تبدیل کنید. استفاده از حافظه عامل بسیار مهمی در محیط سرور شما است. InnoDB از مصرف بالای حافظه رنج می‌برد و توصیه می‌کنیم از استفاده از آن خودداری کنید. این می‌تواند کمی بر زمان بارگذاری تأثیر بگذارد، اما به جداول پایگاه داده اجازه می‌دهد تا با ردپای حافظه بسیار کمتری دسترسی داشته باشید. شما می‌توانید این را با هر رابط کاربری SQL مانند PHPMyAdmin تغییر دهید. برای تغییر این PHPMyAdmin، روی پایگاه داده خود کلیک کنید، در تب SQL وارد کنید:

ALTER TABLE table_name ENGINE = MyISAM;

و روی “go” کلیک کنید.

Performance Schema

برای MySQL 5.6.6+، performance_schema را غیرفعال کنید. این به طور پیش فرض روشن است و تمایل به استفاده از حافظه زیادی دارد!

برای غیرفعال کردن performance_schema:

 

  • Open my.cnf (typically @ /etc/my.cnf) via SSH or VPS admin panel >> add the following line just under [mysqld] >> performance_schema=0
  • Save/close my.cnf and restart mysql service.

بهینه‌سازی PHP

در فایل php.ini، مقدار Memory_Limit را کاهش دهید. از طرف دیگر، به جای ویرایش مستقیم فایل، این کار را در WHM انجام می دهید. در قسمت
WHM >> Service Configuration >> PHP Configuration Editor >> Core >> memory_limit
این کار را انجام دهید . 
اشتراک گذاری در linkedin

به تیم متخصص ما اعتماد کنید!

تخفیف مخاطبین مرکز محتوا: Blog01

از کد Blog01 می‌تونید برای خرید اشتراک خدمات سرور مجازی و هاست استفاده کنید و از %10 تخفیف تو سفارش این خدمات بهره‌مند بشید!

محتوای مقاله مفید بود؟

0 0 رای ها
این مقاله چطور بود؟
اشتراک در
اطلاع از
0 دیدگاه
بازخوردهای آنلاین
مشاهده همه دیدگاه ها