Author Archives: مهندس محمدی

خطا 503 Service Unavailable

خطا 503 Service Unavailable

خطا ۵۰۳ Service Unavailable زمانی رخ می دهد که سروری که سایت شما یا سایتی که مشاهده میکنید در آن نگهداری می شود دارای مشکل در منابع است.

خطا 503 Service Unavailable
خطا 503 Service Unavailable

وقتی تعداد درخواستها بیشتر از حد منابع سرور باشد ، سرور توانایی رسیدگی به درخواسهای جدید را ندارد.
کمبود میزان منابع CPU و یا RAM و یا عدم ارائه مجوز استفاده بیشتر از process و threads ها به کاربران در سرور به جهت انجام پروسه های درخواستی یکی دیگر از دلایل بروز این خطا در هنگام مشاهده سایت می باشد.

دلیل اتفاق افتادن خطای 503 Service Unavailable

از لحاظ فنی، خطای 503 Service Unavailable وقتی اتفاق می افتد که پردازش فایل های PHP در هنگام اجرای اسکریپت ناتمام مانده یا اصطلاحا crash میکند. در این حالت آپاچی یا به طور کلی وب سرور شما، پاسخ معتبری از PHP دریافت نکرده و فرض میکند که سرویس PHP-FPM در دسترس نیست.

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

خطای 503 گرچه پیام واحدی را به کاربر اعلام میکند ولی ممکن است در سیستم های مختلف به شکل های مختلفی خود را به نمایش بگذارد. برخی حالات خطای 503 را در زیر مشاهده میکنید :

503 Service Unavailable
503 Service Temporarily Unavailable
Http/1.1 Service Unavailable
HTTP Server Error 503
Service Unavailable – DNS Failure
503 Error
HTTP 503
HTTP Error 503
Error 503 Service Unavailable

رفع خطای 503 Service Unavailable
اولین چیزی که باید مد نظر داشته باشید

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

اگر مشکل شما به آنچه در بالا شرح داده شد شبیه است و بدون اعمال هر نوع تغییری در سایت برای شما پیش آمده، بهتر است که ابتدا با پشتیبان هاست خود مشورت کنید و سپس در صورت حصول اطمینان در مورد کمبود منابع در سایتتان، نسبت به ارتقا پلن میزبانی خود اقدام کنید و یا در صورتی که وبسایت شما تحت حمله قرار گرفته است، میتوانید از از خدمات سرویسی همچون CloudFlare در رفع مشکل خود بهره بگیرید.

اما بجز این حالت، حالات دیگری هم وجود دارد. خصوصا اگر اخیرا اقدام به نصب افزونه ای جدید یا بروزرسانی یکی از افزونه های سایتتان کرده اید و یا قالب سایتتان را تغییر داده باشید (یا هر نوع سفارشی سازی و تغییر دیگر)، احتمال اینکه مشکلی در کدنویسی یکی از افزونه ها یا قالب سایتتان وجود داشته باشد بسیار زیاد است.
غیر فعال کردن افزونه ها

همانطور که اشاره کردیم، یکی از دلایل بروز خطای 503 Service Unavailable میتواند استفاده از افزونه های معیوب و غیر بهینه باشد. اگر میدانید که دقیقا پس از نصب چه افزونه ای، این مشکل در سایت شما ایجاد شده است که بسیار عالی! میتوانید بلافاصله به سراغ همان افزونه رفته و آن را از سایت خود حذف کنید ولی در صورتی که تغییرات زیادی در سایت اعمال کرده اید و از اینکه کدام افزونه باعث بروز مشکل در سایت شما شده مطمئن نیستید، لازم است که ابتدا همه افزونه های نصب شده در سایت را غیر فعال کنید. (پیش از ادامه دادن مطالعه و انجام مراحل فوق، توصیه میکنیم که از وبسایت خود یک بکاپ کامل تهیه کنید) برای غیر فعال کردن همه افزونه ها کافی است به شکل زیر عمل کنید :

توجه داشته باشید که اگر افزونه ای برای حالت تعمیر (maintenance) در سایتتان نصب کرده باشید ممکن است نمایش خطای 503 به علت فعال بودن این افزونه اتفاق افتاده باشد. (خصوصا اگر خطا فقط در سمت کاربری سایت اتفاق می افتد) بنابراین پیش از هر کاری این مسئله را بررسی کرده و در صورتی که چنین افزونه ای در سایتتان موجود بود، آن را غیر فعال و حذف کنید. در غیر این صورت برای غیر فعال کردن همه افزونه ها مراحل بعدی را دنبال کنید.
ابتدا با استفاده از FTP یا با مراجعه به فایل منیجر هاستتان به فولدر wp-content مراجعه کنید. فولدر plugins را یافته و نام آن را به نام جدیدی تغییر دهید. مثلا plugins-backup
فولدر دیگری با نام plugins در همین محل ایجاد کنید.
مجددا به بخشی که خطای 503 در آن رخ داده مراجعه کنید و بررسی کنید که خطا برطرف شده است یا خیر.

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

مجددا با استفاده از فایل منجر یا کلاینت FTP به فولدر wp-contents مراجعه کنید.
فولدر plugins را که قبلا ایجاد کرده بودید، از هاست خود حذف کنید.
فولدر اصلی پلاگین ها را که تغییر نام داده بودید به حالت اولیه خود بازگردانید. مثلا اگر نام آن را به plugins-backup تغییر داده اید، نام آن را ویرایش کرده و مجددا به plugins تغییر دهید.
حالا به ناحیه مدیریت وردپرس مراجعه کرده و یک به یک شروع به فعال کردن افزونه ها کنید.

در اینجا پس از فعال کردن هر افزونه باید یک بار سایت را بررسی کنید و از عدم وجود خطای 503 اطمینان حاصل کنید. این عمل را تا جایی ادامه دهید که خطا مجددا در سایت ظاهر شود. در این حالت به آسانی میتوانید افزونه ای که منجر به بروز خطا در سایت شما شده را شناسایی کرده و آن را از سایت خود حذف کنید.

اگر این روش به شما در برطرف کردن خطای 503 Service Unavailable کمکی نکرد، به سراغ روش بعد بروید.
استفاده از یکی از قالب های پیشفرض وردپرس

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

وارد فایل منیجر هاست خود شده و یا از طریق FTP به هاست متصل شوید.
به فولدر wp-content/themes مراجعه کنید.
قالب فعلی سایتتان را یافته و آن را روی کامپیوتر خود دانلود کنید. پس از دانلود کردن قالب میتوانید آن را از هاست حذف کنید. البته بجای انجام این کار میتوانید نام فولدر قالب را تغییر دهید و یا برای دقایقی آن را به حالت فشرده در بیاورید و سپس اقدام به حذف فولدر قالب کنید.

در اینجا اتفاقی که می افتد این است که اگر یکی از قالب های پیشفرض وردپرس روی سایت موجود باشد، احتمالا سایت شما به قالب پیشفرض سوئیچ میکند و یا در غیر این صورت، سمت کاربری سایت صفحه ای را نشان خواهد داد که میگوید قلب x در دسترس نیست. اما به هر شکل در این حالت اگر مشکل شما از قالب سایت بوده باشد، میبایست مشکل برطرف شده باشد و دسترسی شما به ناحیه مدیریت دوباره برقرار شده باشد.

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

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

اگر از روش های بالا نتیجه ای حاصل نشد، خونسرد باشید. ابتدا در صورت امکان لاگ های خطای php را با دقت بررسی کنید.

در ادامه در صورتی که از لاگ های خطا نیز اطلاعات مفیدی کسب نشد، مراحلی که طی کرده اید را با پشتیبان هاستینگ خود در میان بگذارید و با آنها مشورت کنید. شاید آنها بتوانند در زمینه یافتن منشا این مشکل به شما کمک کنند. (و این را هم فراموش نکنید که اگر نیاز به کمک دارید، رفتار طلبکارانه به هیچ کس کمکی نخواهد کرد. بنابراین با روی خوش و با رفتاری حرفه ای مشکل خود را مطرح نمایید)

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

امیدواریم که کار شما به مرحله آخر نکشد و بتوانید با همان دو مرحله اصلی (یا شاید 2.5 مرحله!) از دست این خطای آزار دهنده خلاص شوید.

اقدامات لازم در لود بالای سرور

اقدامات لازم در لود بالای سرور

سلام به همراهان همیشگی پیشگام وب امروز دوباره در خدمتتون هستیم با آموزش جدید

اقدامات لازم در لود بالای سرور
اقدامات لازم در لود بالای سرور

یکی از مشکلاتی که ممکنه در سرورهای لینوکسی بوجود بیاد ، بالارفتن لود سرور هست ، وقتی مدیر سرور میاد دستور top رو میزنه ، میبینه یا خدااا ، یه یوزری مصرف منابع رو بالا برده ، خب چیکار کنم تو چنین شرایطی؟
مثل خود من ، دیشب یه پیغام بالا بودن لود تو یکی از سرورها برام ایمیل شد ، به سرور ssh زدم

اولین کاری که میکنین ، کلید c را همون موقع که top وارد کردین رو بزنین تا نشون بده این مصرف منابع مربوط به کدم فایل این یوزر بوده
ممکن هست حملات DOS روی یک فایل خاص داشته ، مثلا اخیرا در سایتهای وردپرسی روی فایل xmlrpc.php حملات زیادی بود و با محدود کردن دسترسی این فایل مشکل رفع می شد.
اگه دیدین سرور داره میترکه و فعلا فرصت کافی برای بررسی مشکل ندارین با دستور کاربری زیر میتونین تمام پروسس هایی که مربوط به این یوزر هست را stop و kill کنین.

pgrep -U user | xargs kill -9

بعد میتونین log های سرور مربوط به این دامنه را بررسی کنین.
مسیر log های دامنه در دایرکت ادمین به شرح زیر هست:

/var/log/httpd/domains/

مسیر log های دامنه در سی پنل بصورت زیر هست:

/usr/local/apache/domlogs

ممکن هست بازدید بالایی داره ، یا درخواستهای زیادی روش هست یا روی این یزور حملات DOS یا حملات سایبری از مدلهای دیگش هست ، اگه دیدین تو log ها خبری نیست و درخواستی روی دامنه نمیاد ، مطمئن بشین که مشکل از دیتابیس آب میخوره ، احتمالا یه table خاص کرش کرده.
میتونین سریع به دیتابیس وصل شین و وضعیت process ها رو بررسی کنین و table که با مشکل مواجه هست repair کنین.
البته این مربوط به زمانی بود که زمانیکه دستور top رو زدین واقعا یه یوزر خاص باعث بالا رفتن لود سرور باشه ، اگه یوزر خاصی نبود، باید log های مسیر زیر رو بررسی کنین:

/var/log/messages

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

خطاهای رایج در سایتها

خطاهای رایج در سایتها

خطاهای رایج در سایتها
خطاهای رایج در سایتها

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

دسته بندی کلی از کد های وضعیت خطا به دسته های 100 ، 200 ، 300 ، 400 و 500 تقسیم میشه. کد 100 به اطلاعات برنمیگرده ، کد های وضعیت دسته 200 به در خواست های معتبر مرور گر ها برگردانده می شود. کد های 300 برای انواع ریدایرکت می باشد. کد های 400 به خطاهای رخ داده در حین در خواست از سمت کاربر و کد های دسته 500 به خطاهای سمت سرور اشاره می کند.

200 – نشان میدهد یک در خواست موفق است و در پاسخ آن یک فایل برگردانده می شود.

201 – این کد در پاسخ موفقیت آمیز ساخت یک منبع جدید در سرور اشاره دارد مثل ساخت یک فایل

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

302 – این نوع از ریدایرکشن به این مفهوم است که محتوا در آدرس در خواستی وجود دارد ولی موقتا به آدرسی دیگر هدایت خواهید شد.

304 – این ریدایرکشن برای مکانیزم کش مرور گر ها کاربرد دارد. در هر درخواست به یک صفحه وب برای صرفه جویی در مصرف اینترنت و بار گزاری سریعتر صفحات بخشی از اطلاعات مانند عکس ها و برخی اسکریپت ها در حافظه مرور گر ذخیره می شود. در درخواست های بعدی تاریخ ذخیره شدن فایل با نسخه موجود آن در وب سرور مقایسه می شود و در صورت عدم انقضاء فایل در خواستی ، کد 304 از سمت سرور برگشت می خورد و فایل ذخیره شده در مرور گر نمایش داده می شود.

400 – آدرس در خواستی به سرور معتبر نمی باشد.

401 – آدرس در خواست شده نیاز به ارائه نام کاربری و کلمه عبور میباشد .

403 – اجازه دسترسی به محتوای در خواست وجود ندارد.

404 – فایل در خواست داده شده در مسیر اعلام شده وجود ندارد

500 – به معنی وقوع یک خطای داخلی در سرور است که معمولا در مواقع بروز رسانی نرم افزاری و یا اعمال تنظیمات رخ می دهد.

502 – این خطا معمولا زمانی رخ می دهد که Gateway بین سرور و مرور گر قادر به تکمیل فرآیند درخواست و پاسخ نبوده و معمولا به چند با تلاش از سمت کاربر مشکل حل می شود.

505 – در مواقعی که پروتکل http مورد استفاده از سمت مرور گر در سرور پشتیبانی نمی شود.

خطاهای سمت کاربر یا کدهای وضعیت از ۴۰۰ تا ۴۹۹، نتیجه ی درخواست های HTTP هستند که توسط نرم افزارهای HTTP سمت کاربر (مانند مرورگر وب) ارسال می شوند. گرچه این دست از خطاها به صورت معمول مربوط به طرف کاربر می باشند ولی آگاهی از اینکه کاربر با چه کد خطای مواجه شده است نیز به جهت امکان سنجی رفع آن از طریق ایجاد تغییرات در تنظیمات سرور، مفید واقع خواهد شد.

خطای های سمت سرور یا کدهای وضعیت ۵۰۰ تا ۵۹۹ نیز زمانی نمایش داده می شوند که مشکلی در تنظیمات وب سرور وجود داشته و یا وب سرور توانایی انجام درخواست مربوطه را ندارد.

راهکارهای رفع مشکل مربوطه :
زمانیکه از مرورگر به جهت امتحان وب سرور استفاده می کنید، به خاطر داشته باشید که حتما بعداز ایجاد هرگونه تغییر در سرور به جهت مشاهده نتیجه، مرورگر خود را رفرش نمایید.
بخش لاگ موجود در سرور خود را برای بدست آوردن اطلاعات بیشتر در رابطه با نحوه مواجه شدن سرور با درخواست های مربوطه بررسی نمایید. به طور مثال وب سرورهایی مانند Apache و Nginx لاگ فایل های مرتبط را در دو فایل به نام های log و error.log ایجاد می نمایند لذا با بررسی کامل این دو فایل اطلاعات جامع و مناسبی کسب خواهد شد.
به خاطر داشته باشید که تعاریف کدهای وضعیت HTTP بخشی از استانداردی هستند که توسط نرم افزارهای مرتبط سمت سرور پیاده سازی شده اند. بنابراین کدهای وضعیتی که به نمایش در می آیند به چگونگی برخورد (مواجهه) نرم افزار مرتبط در سمت سرور با خطای مربوطه بستگی خواهد داشت.

بکاپ گیری از دیتابیس در sql server mangement

بکاپ گیری از دیتابیس در sql server mangement

جهت بکآپ گیری از دیتابیس در ابتدا به sql متصل شوید.

در لیست دیتابیس ها، برروی نام دیتابیس مورد نظر راست کلیک نموده و در زیر شاخه Tasks گزینه backup را انتخاب کنید

kb-sql-backup-mgmt-studio-1

در قسمت Backup type مقدار Full را انتخاب نمائید.

مقصد پیش فرض را انتخاب وگزینه remove را انتخاب کنید.

kb-sql-backup-mgmt-studio-2

سپس بر روی دکمه Add کلیک نمائید.

kb-sql-backup-mgmt-studio-3-300×268

مسیری که می خواهید بکآپ در آن ذخیره شود را تعیین کنید.

kb-sql-backup-mgmt-studio-4

سپس در سربرگ Option گزینه Overwrite all existing backup sets را انتخاب نمائید.

kb-sql-backup-mgmt-studio-5

و در مرحله آخر برای آغاز بکآپ گیری گزینه ok را انتخاب کنید.

kb-sql-backup-mgmt-studio-6

sql شروع به بکآپ گیری از دیتابیس مورد نظر نموده و پس از اتمام بکآپ گیری پیغامی مبنی بر بکآپ گیری بصورت کامل با موفقیت انجام شده است را اعلام می کند.

kb-sql-backup-mgmt-studio-7

بکآپ در مسیری که تعیین نموده اید، ذخیره شده است.