OffshoreVps
راهنماها18 اکتبر 20268 دقیقه مطالعهنوشته‌ی تیم OffshoreVps

انتقال یک وب‌سایت به VPS جدید بدون وقفه

انتقال گام‌به‌گام وب‌سایت: TTL در DNS را کاهش دهید، فایل‌ها و پایگاه داده را دو بار کپی کنید، با یک ورودی hosts آزمایش کنید، DNS را تغییر دهید و سرور قدیمی را تا خالی‌شدن ترافیک نگه دارید.

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

پنجره‌ی ترمینال روی یک VPS که دستورهای انتقال وب‌سایت بدون وقفه را نشان می‌دهد، با «rsync -aHAX --info=progress2 -e ssh /var/www/ us» شروع می‌شود
نوع دستورهایی که در این راهنما روی سرور خود اجرا می‌کنید.

مرحله 1: زودتر TTL مربوط به DNS را کاهش دهید

دست‌کم یک روز پیش از جابه‌جایی، TTL رکوردهای A و AAAA را روی 300 ثانیه بگذارید. کش‌هایی که مقدار قدیمی را دارند به زمان نیاز دارند تا منقضی شوند، پس این مرحله را در روز جابه‌جایی نمی‌شود عجله‌ای انجام داد.

مرحله 2: اول سرور جدید را بسازید

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

مرحله 3: فایل‌ها را کپی کنید

rsync -aHAX --info=progress2 -e ssh /var/www/ user@NEW_IP:/var/www/

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

گام‌های این راهنما به ترتیب: ۱. TTL در DNS را زود کاهش دهید؛ ۲. ابتدا سرور جدید را بسازید؛ ۳. فایل‌ها را کپی کنید؛ ۴. پیش از هدایت کاربران آزمایش کنید؛ ۵. انجماد، همگام‌سازی نهایی، تغییر مسیر؛ ۶. نظارت کنید، سپس سرور قدیمی را کنار بگذارید
گام‌های این راهنما به ترتیب.

مرحله 4: پایگاه داده را کپی کنید

# on the old server
mysqldump --single-transaction --routines --triggers mydb | gzip > mydb.sql.gz
scp mydb.sql.gz user@NEW_IP:~/
# on the new server
gunzip < mydb.sql.gz | mysql mydb

این یک تمرین است. یک نسخه کارا به شما می‌دهد تا روی آن آزمایش کنید.

مرحله 5: پیش از هدایت کاربران، آزمایش کنید

با ویرایش فایل hosts، رایانه خودتان را به سرور جدید هدایت کنید: خط NEW_IP example.com www.example.com را اضافه کنید. سایت را مرور کنید، وارد شوید، یک فرم ارسال کنید و یک سفارش آزمایشی ثبت کنید. تا وقتی عموم کاربران هنوز سرور قدیمی را می‌بینند، مشکلات را رفع کنید. گواهی TLS را با چالش DNS نصب کنید تا پیش از انتقال نهایی کار کند.

مرحله 6: توقف، همگام‌سازی نهایی، تعویض

  1. سایت قدیمی را در حالت تعمیر یا فقط‌خواندنی بگذارید.
  2. rsync و خروجی‌گیری و درون‌ریزی پایگاه داده را دوباره انجام دهید.
  3. رکوردهای DNS را به IP جدید تغییر دهید.
  4. ورودی فایل hosts را حذف کنید و از یک شبکه دیگر بررسی کنید.

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

مرحله 7: نظارت کنید، سپس سرور قدیمی را کنار بگذارید

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

هم‌زمان به حوزه قضایی دیگری می‌روید؟ ابتدا گزینه‌ها را در مقایسه حوزه‌های قضایی هاستینگ آفشور بسنجید.