انتقال بین موقعیتها
با توجه به اضافهشدن موقعیتهای جغرافیایی جدید، ممکن است برای بهرهمندی از مزایای آنها، بخواهید سرویسهایتان را بین موقعیتهای جغرافیایی لیارا منتقل کنید. توجه داشته باشید که ابتدا باید در موقعیت جغرافیایی جدید ثبت نام کنید.
فهرست عناوین:
انتقال برنامه
فرض کنیم قصد انتقال برنامهای را با شناسهیsource-appدر موقعیت جغرافیایی مبدا به موقعیت جغرافیایی مقصد با شناسهیtarget-appدارید. بنابراین، ابتدا باید برنامهیtarget-appرا در پلن مدنظرتان در موقعیت جغرافیایی مقصد بسازید.
سپس وارد تنظیمات برنامهیsource-appشده و متغیرهای env را کپی کرده و برایtarget-appتنظیم کنید. سایر تنظیمات مرتبط با این برنامه مانند «آیپی ثابت» را هم در صورت نیاز فعال کنید.
انتقال سورسکد
برای انتقال سورسکد، لازم است که برنامهیتان را دوباره دیپلوی کنید. برای اینکار ابتدا با دستور زیر آخرین نسخهی Liara CLI را نصب کنید:
npm i -g @liara/cli
و حالا وارد پوشهی کدهایتان شده و دستوراتliara loginو همینطور liara deployرا بهترتیب اجرا کنید. با اینکار، سورسکد شما همانند سابق در برنامهی جدید مستقر و اجرا خواهد شد.
انتقال دیسکها
روش اول) با استفاده از FTP
- ابتدا تکتک دیسکهایsource-appرا ترجیحا با همان نام یکسان برایtarget-appهم بسازید.
- اطلاعات دیسکها را باید در فایل liara.jsonوارد کرده و یکبار دستور liara deployرا اجرا کنید تا دیسکهایتان مستقر شوند و در صفحهی دیسکها، وضعیت هر دیسک به حالت «در حال استفاده» تغییر کند.
- سپس وارد صفحهی پشتیبانگیری دیسکهایsource-appشده و از هر دیسک یک فایل پشتیبان تهیه کرده و آن را دانلود کنید.
- در نهایت، وارد صفحهی دسترسی FTPtarget-appشوید و از طریق ایجاد دسترسی FTP به دیسکها متصل شده و فایل پشتیبانتان را آپلود کنید.
- از آنجایی که FTP قابلیت استخراج فایل فشرده را ندارد، باید از طریق خط فرمان بهبرنامهیtarget-appمتصل شوید و وارد پوشهی دیسک شده و فایلی که آپلود کردید را استخراج کنید:
در دستور بالا، فرض بر این بوده که نام فایل پشتیبان شماbackup.tar.gzاست.$ cd storage/uploads
$ tar -xzvf backup.tar.gz
روش دوم) با استفاده از خط فرمان
- ابتدا تکتک دیسکهایsource-appرا ترجیحا با همان نام یکسان برایtarget-appهم بسازید.
- اطلاعات دیسکها را باید در فایل liara.jsonوارد کرده و یکبار دستور liara deployرا اجرا کنید تا دیسکهایتان مستقر شوند و در صفحهی دیسکها، وضعیت هر دیسک به حالت «در حال استفاده» تغییر کند.
- سپس وارد صفحهی پشتیبانگیری دیسکهایsource-appشده و از هر دیسک یک فایل پشتیبان تهیه کنید و لینک دریافت فایل را کپی کنید.
- از طریق خط فرمانtarget-appبهبرنامه متصل شده و دستور زیر را برای دانلود پشتیبان وارد کنید:
دستور بالا، فایل را از آدرس URL دریافت و با نامbackup.tar.gzذخیره میکند. توجه داشته باشید که در زمان دانلود پشتیبان، نباید برنامهیتان را ریاستارت کنید و یا دیپلوی جدیدی انجام دهید.$ wget 'URL' -O backup.tar.gz
- بعد از اتمام دانلود، فایل پشتیبان را بهداخل دیسک منتقل کرده و آنرا از حالت فشرده خارج کنید:
$ mv backup.tar.gz storage/uploads
$ tar -xzvf backup.tar.gz -C storage/uploads
انتقال دیتابیس
MySQL, MariaDB, PostgreSQL
- فایل پشتیبان را از حالت فشرده خارج کنید و فایلهای sqlداخل آن را در پوشهای برای بازیابی در مرحلهی بعد نگهداری کنید.
- در موقعیت جغرافیایی جدید، دیتابیس را با همان نسخهای که در موقعیت قبلی ساخته بودید بسازید و وارد پنل مدیریت دیتابیس شده و فایل sql را بازیابی کنید. پنلهای مدیریت PHPMyAdmin و PGAdmin بهترتیب در دسترس هستند.
MongoDB
- ابتدا وارد صفحهی پشتیبانگیری دیتابیس مبدا شده و یک فایل پشتیبان تهیه کرده و دانلود کنید.
- فایل پشتیبان را از حالت فشرده خارج کنید تا در مرحلههای بعد از آن استفاده کنید.
- مطمئن شوید که MongoDB در کامپیوتر شما نصب است و در ترمینال و یا CMD دسترسی بهابزارmongorestoreرا دارید. در غیر اینصورت، باید MongoDB را نصب کنید.
- در موقعیت جغرافیایی جدید، دیتابیس را با همان نسخهای که در موقعیت قبلی ساخته بودید بسازید.اگر موقعیت جغرافیایی مقصد، «ایران» است، حتما شبکهی عمومی را فعال کنید چرا که برای بازیابی دادهها نیاز به اتصال از بیرون از شبکهی خصوصی وجود دارد.
- دستور زیر را در کامپیوترتان برای بازیابی دادهها وارد کنید:
بهجای CONNECTION_URI، از آدرس URI ای استفاده کنید که در بخش دسترسی سریع شبکهی عمومی در پنل لیارا بهشما نمایش داده شدهاست.$ mongorestore --uri='CONNECTION_URI' --archive=my-db.dump
بهجای my-db.dump هم مسیر فایل پشتیبانی که استخراج کردید را وارد کنید.
برای نمونه:mongorestore --uri='mongodb://root:pass@host:12345/my-app?authSource=admin' --archive=test-db.dump
انتقال سرویس فایل
- ابتدا CLI نرمافزار MinIO را روی کامپیوترتان نصب کنید. نام این ابزار mc است. در صفحهی زیر، میتوانید فایل باینری متناسب با سیستم عامل خود را پیدا کرده و آن را دانلود کنید:
MinIO Client Complete Guide - حالا لازم است که اطلاعات سرویس فایل مبدا و مقصد را تنظیم کنیم وaccess keyو secret keyهر دو سرویس فایل را به CLI بدهیم:
همانطور که مشاهده میکنید، ما ۲ بار از دستورmc alias setبرای معرفی هر دو سرویس فایل استفاده کردهایم. در دستور اول، نام سرویس فایل مبدا را source-minioو در دستور دوم، نام سرویس فایل مقصد را target-minioگذاشتهایم. سپس endpointو مقادیر access keyو secret keyرا بهترتیب وارد کردهایم.$ mc alias set source-minio https://endpoint1.liara.space ACCESS-KEY1 SECRET-KEY1
$ mc alias set target-minio https://endpoint2.iran.liara.space ACCESS-KEY2 SECRET-KEY2 - ابزار mcاین قابلیت را دارد که دو سرویس فایل را با یکدیگر همگام و اصطلاحاmirrorکند. ما با دستور زیر میتوانیم این عملیات را آغاز کنیم:
دستور بالا بهاین معناست که تمام دادههای داخلsource-minioباید بهtarget-minioکپی شود.$ mc mirror source-minio/ target-minio/
انتقال دامنه
برای انتقال دامنه، لازم است که یکبار دیگر دامنهی مدنظرتان را در حساب کاربری مقصد بسازید. در صورتی که قصد انتقال چندین دامنه را دارید، پیشنهاد میکنیم ابتدا دامنهی اصلی و سپس زیردامنهها را در حساب کابری جدیدتان بسازید.
بعد از ایجاد دامنه در حساب کاربری مقصد، رکوردهای جدیدی که در صفحهی دامنه نمایش داده میشود را باید در سرویس DNS تان مانند Cloudflare ایجاد کنید و رکوردهای قبلی را حذف کنید.
برای مثال، در انتقال دامنه از موقعیت آلمان بهایران، لازم است که بهجای رکورد CNAME، یک رکورد A ساخته شود و رکورد قبلی حذف شود.