در این مقاله قرار است نگاهی به بهینه سازی سرورهای خصوصی مجازی Centos در حال اجرا WHM بیاندازیم و وب سایتهای سریعتری را برای مشتریان شما فراهم کنیم. چند عامل مهم برای هر سرویس مجازی وجود دارد: امنیت، سرعت و سهولت استفاده برای کاربران.
بهینه سازی امنیت
امروزه دیگر نمیتوانید از امنیت به عنوان وسیلهای برای ارائه خدمات گرانتر به مشتریان خود استفاده کنید که این مسئله نوید امنیت بیشتر را برای مشتریان ممتاز میدهد. شما برای همه مشتریان بدون توجه به سطح قرارداد خدماتی که با شما منعقد کرده اند، انتظار می رود خدماترسانی خود را تقویت کنید تا سطح امنیتی قابل قبول را به همه ارائه دهید.
فایروال csf
پس از نصب CSF، باید تنظیمات پیشفرض را تغییر دهید. از منوی تنظیمات افزونه CSF به بخش تنظیمات فایروال بروید. در اینجا چند گزینه برای تنظیم پیشتنظیم امنیت جهانی وجود دارد. شروع از "متوسط" روش استاندارد است.
افزونه CSF میتواند یک ممیزی امنیتی برای سرور شما ارائه دهد. در منوی اصلی افزونه CSF، روی گزینه “Security Check” کلیک کنید. با این کار لیستی از نکات برای بهبود امنیت سرور شما ایجاد میشود.
در پایین گزارش یک امتیاز امنیتی وجود دارد و سطح امنیت کلی سرور شما را بین امنیت ناامن و حداکثر قرار میدهد. اگر مطمئن نیستید که هنوز چه چیزی به امنیت بهتر نیاز دارد، این ابزار راهی مفید برای فهمیدن این که چه کاری باید انجام شود، است. شما نیازی به ایجاد تک تک تغییرات پیشنهادشده توسط CSF ندارید؛ هر تنظیم منحصربهفرد بوده و گاهی اوقات ممکن است انجام اقدامات خاصی ممکن یا معقول نباشد. احتمالاً بهتر است برای قسمت زرد یا سبز بالای نمودار عکس بگیرید.
مشاور امنیتی “security advisor”
یکی دیگر از ابزارهای ممیزی امنیتی مفیدی که میتوانید استفاده کنید، «مشاور امنیتی» بوده که بسیار شبیه به CSF است. مشاور امنیت سرور شما را اسکن میکند، مشکلات احتمالی را برمیگرداند و آنها را در قالب یک لیست با کد رنگی از نظر شدت نمایش میدهد. همچنین نکاتی را برای اصلاح این مسائل و محافظت از خود ارائه میدهد.
پس از نصب افزونه، به صفحه افزونه خود در WHM بروید و «ابزار مشاور امنیتی» را انتخاب کنید. از آنجا، “اسکن” را برای شروع اسکن انتخاب کنید. نتایج به اندازه CSF پرمخاطب یا کامل نیستند، اما یک ابزار عالی برای استفاده در ارتباط با آن است.
بهینه سازی سرعت
سرعت یکی از مهمترین چیزهایی است که باید در سرورهای مشتریان بهبود یابد، زیرا این قابل مشاهدهترین تغییری است که میتوانید ایجاد کنید و به شما امکان میدهد مستقیماً با رقبای خود مقایسه کنید. هیچ کس متوجه چیزی مانند امنیت نمیشود، مگر این که مشکلاتی وجود داشته باشد که از آنها استفاده شود و آپتایم فقط در دراز مدت قابل اثبات است. سرعت یک بهبود قابلاندازه گیری فوری برای مشتریان شما است. ما قصد داریم چند نکته و ترفند مفید را برای بهبود سرعت راه اندازی WHM مبتنی بر CentOS پوشش دهیم.
همه نکات برای هر موقعیتی ایده آل نیستند. برخی هزینه خواهند داشت، برخی دیگر برای راهاندازی زمان صرف میکنند و برخی حتی ممکن است معاوضی بین امنیت و سرعت باشد. اول، چیزهایی را که میتوانید با WHM به درستی تغییر دهید. در پنل WHM، به صفحه «تنظیمات توییک» بروید. میتوانید از کادر جستجو برای یافتن سریع تنظیمات مورد نیاز خود از آنجا استفاده کنید. در زیر فهرستی از تنظیماتی است که میتوانید برای بهبود عملکرد تغییر دهید، اما لطفاً توجه داشته باشید که ممکن است با نکات امنیتی ارائهشده توسط CSF یا Security Advisor مغایرت داشته باشند. ماسک تغییرات به اختیار خود شما. Mailman را خاموش کنید:
بهینهسازی وبسرور آپاچی
بهینهسازی آپاچی عملکرد کلی سایت شما را بدون بهروزرسانی سختافزار یا گسترش 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;
Performance Schema
برای MySQL 5.6.6+، 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
WHM >> Service Configuration >> PHP Configuration Editor >> Core >> memory_limit
این کار را انجام دهید .