انتقال وبسایت به سرور مجازی یا اختصاصی
مقدمه
ممکن است برای شما هم این اتفاق افتاده باشد که بخواهید سایت و یا WA خود را از هاست به یک سرور و یا از یک سرویس دهنده به یک سرور اختصاصی و یا سرور مجازی منتقل کنید. این عمل میتواند توسط شما یا یک متخصص انجام شود که در هر دو حالت بهتر است شما اطلاعات پایه ای گفته شده در این مقاله را دارا بوده و طبق این چارت عمل کنید. برای انجام این پروسه نیاز است تا اطلاعات پایه ای برای ان عملیات داشته باشید تا سرویس دهی شما بدون وقفه و یا با کمترین DownTime مواجه شود، در غیر این صورت ممکن است مشکلات بسیاری را تجربه کنید و یا حتی در بدترین حالت با Data Lost مواجه شوید. در این مقاله سعی میکنیم بصورت کلی شما را انجام این پروسه اشنا و بصورت مختصر برخی از مفاهیم مورد نیاز را توضیح دهیم تا از سردرگمی هایی که ممکن است با ان مواجه شوید کاسته شود.
Migration یا انتقال ممکن است دلایل متفاوتی داشته باشد:
- هاست میزبان شما به دلیل ترافیک بازدید و مصرف منابع WA شما دیگر قادر به میزبانی سایت شما نبوده و یا سایت شما در زمان High Traffic شدن با مشکل در سرویس دهی مواجه میشود.
- در سرور و یا هاست قبلی شما اختلال سخت افزاری ایجاد شده باشد.
- سرویس دهنده فعلی شما امکانات مورد نیاز شما مانند ماژول های مورد نیاز یا نسخه نرم افزار های سمت سرور مورد نیاز شما را ارائه نمیدهد.
- سرور و یا هاست شما تحت مدیریت شخص دیگری است و هم اکنون میخواهید خودتان انتقال را انجام دهید.
- افزایش توان سرور جهت ارتقا سرویس دهی
- مشکلات تامین امنیت و ….
یاداشت برداری
قطعا بدون کاغذ و قلم شما در هر مرحله ای با مشکل مواجه خواهید شد! مدیریت سرور کار سخت و پیچیده ای است و بر خلاف جریان فعلی که در بازار در حال انجام است باید گام به گام و با دقت دنبال شود تا از بروز مشکلات امنیتی و عدم پایداری آن در اینده کاسته شود. تمامی اهداف باید یاداشت شده بصورت یک Check List تمامی موارد یاد داشت شده انجام شود. سرور شما باید Document شده باشد تا زمانی که مدیریت ان به شخص دیگری سپرده شد شخص جدید بداند سرور چگونه کانفیگ شده است و یا زمانی که سرور با Technical Difficulty موجه شد مختصص با سردرگمی مواجه نشود بعلاوه اینکه اگر تعداد سرور های شما روند افزایشی داشت در آینده با سردرگمی مواجه نشوید. پس یادداشت برداری برای ما مهم است و نباید عملی پیش پا افتاده تلقی شود.
مرحله اول – دلیل انتقال و Migration
دلیل شما برای انتقال چیست ؟! ایا دلایل شما میتواند یک متخصص را متقاعد کند و منطقیست ؟! کاغذ و قلم خود را برداشته و شروع کنید. تمامی دلایل خود را برای این انتقال شرح داده و مشکلات کنونی که بر روی سرور و یا هاست میزبان خود دارید را یاد داشت نمایید. آیا اختلال ایجاد شما باعث زیان مالی شرکت و یا سازمان شما میشود !؟ میزان خسارت وارد شده را محاسبه و دیگر مواردی را که فکر میکنید سرویس شما را با اختلال مواجه کرده است را یادداشت نمایید.
بطور مثال :
- سرویس برخی مواقع با هنگ مواجه شده و نمیتواند برخی از Request ها را handle کند.
- سرویس در برخی از ساعات روز از دسترس خارج میشود.
- هاست ماژول های مورد نیاز WA را جهت توسعه ان ندارد و پشتیبانی نمیکند.
- زمانی که بازدید از تعداد خاصی بیشتر میشود سرعت سایت بشدت کاهش یافته و یا سایت کلا قطع میشود.
- سایت زیر حملات DDOS بوده و از نظر امنیتی مشکل دارد.
- منابع ناکافی سخت افزاری مانند پورت و یا هارد
- و …
مرحله دوم – نیاز های شما در سرور جدید
پس از مرحله اول نیاز است تا نیاز های نرم افزاری و سخت افزاری شما بطور کامل مشخص شود، در این صورت بهترین تصمیم برای انتخاب سخت افزار، سیستم عامل، نرم افزار های سمت سرور، کانفیگ و نصب و صرف هزینه گرفته می شود. پس از لیست شدن انتظارات شما از سرور بهترین استراتژی سخت افزاری و نرم افزاری تعیین خواهد شد. تعیین این استراتژی برای بلند مدت بسیار مهم میباشد زیرا گاها نیاز است تا با توسعه وبسایت شما، کانفیگ نرم افزاری و سخت افزاری سرور نیز تغییر یابد.
بطور مثال :
- تعداد بازدید روزانه بین ۷۰۰۰ تا ۱۰۰۰۰ IP است.
- نیاز است روی سرور TomCat نصب و کانفیگ شود.
- درگیری دیتابیس بیش از اندازه بوده و باید سرور HTTP و MySQL جدا باشد.
- هارد باید SSD باشد و مصرف هارد در سال حدودا ۵۰۰ تا ۷۰۰ گیگابایت است.
- سرور گاها تحت حملات سنگین DDOS است و باید بشدت DDOS Protected باشد.
- بحث پایداری سرور و High Availability مهم بوده و سرور به هیچ عنوان نباید از سرویس دهی خارج شود.
- کاربری از سرور بصورت File Server بوده و ترافیک و سرعت دانلود باید مدیریت شود.
- WA مورد نظر از PHP ورژن ۵٫۲ استفاده میکند و دیتابس مورد استفاده نیز MySQL نسخه ۵٫۰ میباشد.
- وب سرور قبلی آپاچی بوده و نیاز است تا نوع انتخاب وب سرور برسی شود.
- فرکانس CPU فعلی xx.xx GHz بوده و سرور نیاز به CPU قویتری دارد.
- روزانه بیش از ۵۰K ایمیل ارسال میشود. پیاده سازی سیاست های E-mail marketing و به حدعقل رساندن میزان اسپم.
- نیاز است از دیتابیس بصورت ساعتی بکاپ تهیه شود.
- و…
مرحله سوم – جمع بندی نهایی
در این مرحله شما باید استراتژی های مورد نیاز را انتخاب کنید. قبل از هر کاری باید کمی اطلاعات خود را افزایش دهید یا با متخصصان این زمینه مشورت نمایید. انتخاب نوع وب سرور، دیتابیس، سیستم عامل، سیاست های امنیتی، کانفیگ و مشخصات سرور و… کمی نیاز به R & D دارد و بهتر است قبل از انتخاب کمی در مورد انتخاب خود تحقیق کنید. در هر مرحله نیاز است تا شما در مورد انتخاب خود کمی مطالعه داشته باشید. اگر سرور شما Critical Mission است بهتر است با کمک یک متخصص این مراحل را انجام دهید. برای نمونه ما یک سناریو مطرح کرده و یک جم بندی در مورد نیاز های ان انجام میدهیم. با توجه به میزان بودجه خود سرور مورد نیاز را انتخاب کنید. سرور شما میتواند اختصاصی و یا مجازی باشد که انتخاب بین این دو بستگی به انتخاب شما دارد که میتوانید از فروشنده گان این امر سرور خود را تهیه نمایید. اگر میخواهید از کنترول پنل استفاده کنید باید ابتدا نوع ان را مشخص کنید، کنترل پنل ها دارای لایسنس بوده و معمولا باید قبل از نصب به فکر لایسنس ان باشید. تمامی سرویس های مورد نظر برای هاستینگ تقریبا توسط کنترل پنل نصب خواهند شد و برای نیاز های پایه تقریبا نیازی به تغییر در کانفیگ ندارند. اما برای ایجاد تغییرات در تنظیمات آپاچی و یا MySQL بهتر است Document ها و یا مقالات متنوعی را مطالعه نمایید. پس از تهیه و کانفیگ سرور بهتر است در ابتدا WA خود را منتقل کرده و صحت سرویس دهی را برسی نمایید تا مطمئن شوید سرویس دهی بدون نقص صورت میگیرد. سپس اقدام به تغییر IP و یا DNS نمایید.
یک سناریو ساده
سایتی روی هاست پشتیبانی میشود که WA ان WordPress و از دیتابیس MySQL استفاده میکند. ورژن PHP مورد نیاز ۵٫۳ یا ورژن های جدیدتر میباشد. میزان بازدید ورود روزانه بین ۵K تا ۸K بوده و به دلیل قالب بهینه و حجم سایت درگیری I/O و شبکه زیاد نمیباشد. تعداد concurrent user بین ۵۰ تا ۱۵۰ کاربر میباشد. دیتابیس کمی باعث لود CPU میشود. پس نیاز است تا با بهینه سازی دیتابیس تعدادی از Table های پر استفاده روی رم لود شود.
با توجه به نمودار بازدید، مصرف مشابه در هاست و حجم فایل های هاست راهبرد زیر اتخاذ شده است :
مشخصات سرور:
- سی پی بو : ۲ Core 2.4GHz
- رم : ۶ GB
- هارد : ۲۵۰ گیگابایت
- ترافیک ماهانه : ۱ ترابایت
- کارت شبکه : ۲۵۰Mbps
مشخصات نرم افزاری:
- سیستم عامل : CentOS 6.8
- کنترل پنل : دایرکت ادمین
- استفاده از اپاچی به عنوان وب سرور و کانفیگ و بهینه سازی ان برای بالا رفتن سرعت لود
- نصب و اماده سازی Mod Security
- نصب ioncube
- بهینه سازی دیتابیس جهت کش کردن و افزایش سرعت پاسخ دهی به Query ها
- نصب ابزار مانیتورینگ
- امن سازی کنترل پنل، وب سرور، PHP، سیستم عامل، نصب و کانفیگ انتی شلر، فایروال و انتی ویروس
- نصب و کانفیگ انتی دیداس evasive روی وب سرور
- ایمن سازی SSH
- تست امنیت
- پیاده سازی سیاست های بکاپ گیری داخل و یا خارج از سرور
در کانفیگ سخت افزاری و نرم افزاری بالا وب سایت مورد نظر میتواند تا حدودا ۸K بازدید کننده در کل و حدود ۱۰۰ تا ۱۵۰ کاربر concurrent داشته باشد. با افزایش کاربر همزمان کم کم لود سرور افزایش یافته و سرعت سرویس دهی کاهش چشم گیری خواهد داشت.
توجه داشته باشید:
اگر تاره کار هستید بهتر است برای مدیریت سرور از کنترل پنل استفاده نمایید. نصب و کانفیگ وب سرور ، SMTP و دیگر ملزومات سرویس دهی بصورت دستی ممکن است برای شما بسیار سخت و مشکل ساز باشد. با نصب کنترل پنل تمامی امکانات اولیه مورد نیاز را خواهید داشت.
نصب و مدیریت سرور بستگی به علم شما از این تخصص دارد. بهتر است کمی در اینترنت جستجو کرده. سپس اقدام نمایید.
کلام اخر
اگر در این مورد سوالی داشتید میتوانید در همین پست در بخش نظرات سوالات خود را مطرح نمایید.
این پست ممکن است در اینده تغییر کند و محتوای ان حذف و یا اضافه شود.