كيفية نشر التطبيق Laravel إلى Heroku

في أحد مشاركاتي السابقة ، تحدثت عن كيفية نشر تطبيق laravel على الاستضافة المشتركة ، وذكرت أنه يمكنك أيضًا نشر تطبيقك على حل استضافة سحابية مثل heroku.

في هذا المنشور ، سأوضح لك كيفية نشر تطبيق laravel الحالي من المحلي إلى heroku. انه سهل للغاية.

الأشياء المطلوبة:

  • فب ولارافيل المعرفة
  • حساب مستخدم Heroku
  • مجموعة أدوات Heroku (Heroku CLI)
  • شخص سخيف

يفترض هذا البرنامج التعليمي أنه قد تم بالفعل إنشاء تطبيق laravel الخاص بك على الخادم المحلي الخاص بك ، لذلك لن أتجاوز هذه الخطوات بعد الآن.

STEP1: تهيئة مستودع بوابة في مشروع دليل العمل الخاص بك

Step2: تشغيل heroku إنشاء [your_app_name] استبدل "your_app_name" باسم التطبيق المفضل لديك أو اتركه فارغًا لهيروكو لإنشاء واحد لك

الخطوة 3: انتقل إلى لوحة معلومات heroku ، في علامة التبويب "الإعدادات" في تطبيقك ، انسخ عنوان url git لمشروعك على سبيل المثال https://git.heroku.com/yourappname.git

Step4: من CLI الخاص بك ، قم بتشغيل git remote add heroku [your_app_git_url]

Step5: داخل دليل المشروع ، قم بإنشاء ملف جديد يسمى Procfile (بدون امتداد) وأضف السطر التالي: web: vendor / bin / heroku-php-apache2 public /

Step6: ارتكب تغييراتك (مع git) وادفع إلى heroku git ادفع heroku master

Step7: انسخ APP_KEY من ملف .env الخاص بك ، ثم انتقل إلى لوحة القيادة heroku لك التطبيق -> إعدادات -> كشف التكوين Vars. أضف قيم زوج مفاتيح جديدة مثل APP_KEY: base64: .......

Step8: الآن ، انتقل إلى عنوان تطبيقك في متصفحك your_app_name.herokuapp.com ، يجب أن يكون تطبيقك قيد التشغيل الآن.

هناك بعض الأشياء الأخرى التي قد ترغب في إعدادها ، بناءً على متطلبات التطبيق الخاص بك.

لكي يعمل تطبيق Laravel بشكل صحيح ، تحتاج إلى تعيين متغيرات بيئة معينة مع heroku (وهو ما يعادل ملف .env المحلي الخاص بك).

هناك طريقتان يمكنك تعيين المتغيرات env على heroku:
1. من cmd heroku ، من خلال التشغيل: heroku config: set VAR_NAME = VAR_VALUE

2. من لوحة معلومات heroku ، في علامة تبويب "الإعدادات" ، انقر فوق "كشف تكوين فارسز" واضبط متغيراتك هناك.

3. [البرنامج المساعد المخزي - كتبت مكتبة بيثون صغيرة يمكن أن تساعدك على تعيين كل ما تبذلونه من Heroku Config Vars من ملف .env الخاص بك مرة واحدة. تحقق من هذا المنصب هنا أو تحقق من الريبو مباشرة.]

علامة تبويب إعدادات Heroku

كيفية تكوين قاعدة البيانات (MySQL) لتطبيق laravel-heroku

يوفر لك Heroku خيار استخدام posgres sql خارج الصندوق ، ولكن بالنسبة لأنظمة قواعد البيانات الأخرى ، يجب عليك استخدام إضافة من جهة خارجية. بما أننا نتحدث عن MySQL هنا ، فإن cleardb هو المفضل لدي.

من علامة تبويب "الموارد" في تطبيقك على لوحة معلومات heroku ، يمكنك البحث عن الملحق cleardb والإضافة إلى تطبيقك. بعد إضافة الملحق ، سيتم تعيين متغير config (env) لك. يمكنك نسخ التفاصيل من هذا المتغير لإعداد قاعدة البيانات الخاصة بك.

على سبيل المثال ، من عنوان url هذا: mysql: // b6de34rj38adfad3: a10cd36db@us-cdbr-iron-east-05.cleardb.net/heroku_c40fa7a488382ef؟ أعد الاتصال = صحيح

السلسلة بين mysql: // و: هي DB_USERNAME أي b6de34rj38adfad3

السلسلة بين: و @ هي DB_PASSWORD أي a10cd36db

السلسلة بين @ والقادم / هي DB_HOST الخاص بك ، بمعنى ، us-cdbr-iron-east-05.cleardb.net

والسلسلة بين / و؟ هي DB_DATABASE أي heroku_c40fa7a488382ef

يمكنك ضبط ما سبق في متغير env الخاص بك ، ويجب أن يكون تطبيق laravel الخاص بك متصلاً بقاعدة البيانات على ما يرام.

يمكنك استخدام أداة مثل HeidiSQL أو MySQL Workbench لعرض وإدارة قاعدة البيانات الخاصة بك.

هذا هو. الآن ، في أي وقت تُجري فيه تغييرات على تطبيقك محليًا ، يصبح تحديث تطبيق heroku سهلاً كما يلي:

بوابة إضافة.

بوابة الالتزام -m "رسالة الالتزام"

بوابة دفع سيد heroku

و voila !! ، يتم تحديث تطبيقك على الإنترنت.

ملاحظة: في heroku ، لن تتمكن من الوصول إلى ملف * larave.log * ، لذلك حتى تتمكن من رؤية سجلاتك التي أنشأها التطبيق ، ستحتاج إلى توجيه سجلات التطبيق إلى سجلات سجلات heroku. يمكنك القيام بذلك عن طريق تعيين متغير .env APP_LOG إلى errorlog. بمعنى آخر

التكوين heroku: تعيين APP_LOG = errorlog

بعد ذلك ستتمكن من عرض سجلاتك عن طريق التشغيل:

سجلات heroku

تحذير ودية: قد تكون سجلات heroku غامرة في بعض الأحيان ، لذلك عليك فقط قضاء بعض الوقت في البحث والعثور على ما تبحث عنه

تحديث: لتشغيل أوامر الحرفيين العادية على heroku ، تسبق جميع العبارات مع heroku run على سبيل المثال ، heroku run php artisan migrate