از داون شدن سرور وحشت زده اید ؟
وب سایت شما داون شده است ؟
داونی سرور و یا خرابی وحشتناک این چنینی ، کابوس وب مستران است . من در چنین مواردی گاهی اوقات فریاد هم زدم ، زیرا در یک سایت با ترافیک بالا ، مشتریان زیادی از دست خواهند رفت و در سایت با ترافیک پایین پول و هزینه از بین می رود .
داون شدن سرور
در چنین مواقعی وقتی دکمه وحشت را فشار می دهید ، حتی مدیران مجرب سرور هم تمرکز خودشان را از دست می دهند ، هنگام داون شدن سرور بایستی آرامش خودتان را حفظ کنید و کتابچه ی راهنما را در دستتان بگیرید و تمرکز کنید تا راه حل مشکل را پیدا کنید .
من از چنین کتابچه ی راهنمایی استفاده نمیکنم ، به همین دلیل تصمیم گرفتم این مقاله را بنویسم تا به طور واضح مسئله داون شدن سرور و داونی سایت مشخص شود .
1- مشکل نتورک محلی ISP
بیش از 80 درصد مشکلات سایت به ISP برمیگردد. عدم انجام وظایف درست در انتقال توسط ارائه دهنده ی ISP شما می تواند مشکلات شبکه متناوب ایجاد کند که می تواند وب سایت شما (میزبانی شده در جاهای دیگر) در سایر نقاط جهان غیر قابل دسترس باشد.
سعی کنید از طریق پروکسی یا با ساتفاده از ISP های دیگر به سایتتان دسترسی پیدا کنید .
از یک مرورگر دیگر برای اتصال به وب سایت استفاده کنید و یا اینکه کش مرورگرتان را پاک کنید .
اگر کاملا مطمئن هستید که مشکل از سرورتان است ، موارد زیر را انجام دهید .
2. مسائل مربوط به DNS
از آدرس آی پی و آدرس دامنه تان پینگ بگیرید تا مطمئن شوید متصل هست یا خیر.
اگر آدرس آی پی تان در دسترس است و آدرس دامنه تان پینگ ندارد ، این مشکل از DNS شماست . لاگ های DNS را بررسی کنید .
ping example.com ping 8.8.4.4
3-فایروال
مطمئن شوید که آی پی شما توسط فایروالتان بلاک نشده باشد .
اگر چنین موردی اتفاق افتاده باشد ، شما به طور کامل بلاک هستید و امکان دسترسی به cpanel، ssh، http، mail و http را نخواهید داشت .
در برخی موارد ISP ها آی پی های پویا می دهند و ممکن است یکی از این آی پی ها را با استفاده از htaccess سی پنل مسدود کرده باشید .
4- تجزیه و تحلیل لاگ ها
اول کارهای مهم !
لاگ ها اتفاقاتی که در سرورتان افتاده است را نشان می دهد ، اینکه چه نقص هایی رخ داده است .
لاگ ها به شما در رفع مشکلاتتان کمک خواهند کرد .
در صورتی که از سی پنل استفاده میکنید ، چک کردن لاگ ها را پشت گوش نیندازید .
شاید نیاز باشد به خطاهای آپاچی ، پیام های سرور و سایر لاگ ها نیز نگاهی بیندازید .
/etc/httpd/logs/error_log (apache log) /var/log/messages /var/log/secure /etc/httpd/logs/suexec_log /etc/httpd/logs/suphp_log /usr/local/cpanel/logs/error_log (cpanel log) /var/log/named.log (bind dns server) /var/log/mysqld.log (if you have enabled mysql log) /var/log/faillog
5- لود بالای سرور
لود بالای سرور را نیز بررسی کند ، ممکن است ترافیک بالا خسارات زیادی به بار آورده باشد .
W را در خط فرمان خود تایپ کنید تا سرعت لود سرور را مشاهده کنید.
اگر سرور شما تحت لود بسیار سنگینی باشد ، ممکن است بازدید کنندگان شما خطای time out بگیرند و یا اینکه سایت شما بسیار کند شود .
این مسئله را بررسی کنید .
6-بررسی اتصالات به پورت 80
به دنبال هر فرایند مشکوک یا آی پی هایی هایی که به پورت 80 متصل هستند باشید .
با استفاده از دستور زیر می توانید این مورد را بررسی کنید .
netstat -apn | grep “:80”
7-تجزیه و تحلیل فرایند های تاپ
دستور top را اجرا کنید و لود سرور را دنبال کنید .
سعی کنید بار سرور را زیر 1.0 نگهدارید . لود 5.0 در زمان های پیک نیز خوب است و بالای 10.0 به این معنیست که شما نیاز به ارتقا سرور دارید .
توجه کنید که به روز رسانی و یا بکاپ گیری در سی پنل موجب افزایش بار سرور خواهد شد .
> top
8- بررسی مصرف سی پی یو و حافظه
شما بایستی به صورت روزانه لاگ فرایند هایی که در سی پنل اتفاق می افتد را تجزیه و تحلیل کنید . این کار به شما کمک می کند که مشکلتان را به دامنه ی خودتان محدود کنید .
شما میتوانید متوجه بشوید که چه اسکریپت یا فرایندی سی پی یو و یا حافظه ی شما را مصرف میکند .
از daily process log داخل whm برای این منظور می توانید استفاده کنید .
9- بررسی فرایند ها
به دنبال هر فرایند مشکوک یا فرایندی که میزان مصرف بالایی از منابع دارد باشید و آنها را از بین ببرید . شاید دلیل داون شدن سرور همین باشد.
10- کوئری های کند My sql
بیش از 50 در صد مشکلات سایت ها به mysql مربوط می شود .
اگر شما تجربه ی مصرف بالای سی پی یو با استفاده از mysql دارید ، وقت آن رسیده که my sql را برای کوئری های کند بهینه کنید . انجام این کار بسیار ساده است .
در صورتی که کوئری ها کند لاگ می اندازند ، لاگ را چک کنید .
در بیشتر موارد، یک فایل ورودی در مسیر /var/log/mysql.log وجود دارد.
هر گونه کوئری بی ارزش ممکن است ، سی پی یو و منابع حافظه را بیش از حد مصرف کرده و در مقیاس بزرگ موجب داون شدن سرور می شود .
همه چیز به my sql بستگی دارد ، اسکریپتی که ضعیف نوشته شده باشد و یا کوئری هایی که بهینه نیستند ، موجب مصرف بالای سی پی یو و حافظه می شود .
ممکن است نیاز داشته باشید به فایل های زیر مراجعه کنید :
/var/log/mysqld.log (mysql log file, if available) /etc/my.cnf (mysql configuration file)
نکاتی برای سرعت بخشیدن به خروجی :
- index هایی برای دیتا بیستان برای بالا بردن سرعت فرایند های GROUP by و DELETE ایجاد کنید . در صورتی که index ایجاد نکنید سرعت حذف بیش از 1000 ثانیه کند تر خواهد بود.
- جداولی که سربار دارند را در php my admin بهینه سازی کنید .
-
تنظیمات mysql با استفاده از mysqltuner بهینه سازی کنید . تفاوت بسیار زیادی بین کارایی دو سایتی که یکی my sql بهینه سازی شده دارد و دیگری که my sql آن بهینه سازی نشده است . بهینه سازی my sql بسیار راحت است . همه ی شما باید از اسکریپت mysqltuner perl استفاده کنید. این اسکریپت به شما پیشنهاد می دهد که چه خطوطی را در فایل my.cnf (فایل کانفیگ mysql) اضافه کنید. در ادامه میتوانید طریقه ی انجام این کار را ببینید .
wget http://mysqltuner.pl/mysqltuner.pl perl mysqltuner.pl
11- کرش های php
در صورتی که php باعث کرش و داون شدن سرور شود ، موجب پایین آمدن شانس حافظه می شود . کتابخانه های دستکاری تصویر ، حافظه را برای پردازش تصویر مصرف می کنند.
فایل php.ini را ویرایش کنید :
memory_limit = 128M
یا اینکه میتوانید کد زیر را در php file قرار دهید :
<?php ini_set('memory_limit', '256M'); ?>
12- اتک سرور
شما نمیخواهید مهاجمان بتوانند به سرور شما آسیب وارد کنند . فایل لاگ را برای هر حمله و اتک چک کنید .
/var/log/messages /var/log/secure
شما بایستی فایروال CSF را فعال کنید و تمام پورت هایی که نیاز ندارید را مسدود کنید و آی پی هایی که حمله و اتک دارند را بلاک کنید . نصب و استفاده از فایروال روی سی پنل بسیار ساده است .
- حملات و اتک ها را تحت پورت 21 و 22 بررسی کنید و برای جلوگیری از حملات پورت ها را تغییر دهید .
- حملات recaptcha را در داخل فایل /etc/httpd/logs/error_log بررسی کنید و تمام آی پی های مشکوک را با استفاده از فایروال بلاک کنید .
- SYN flooding را بررسی کنید .
netstat -n -p|grep SYN_REC | wc -l