Хостинг приложений Laravel на Heroku с базой данных

Использование платной производственной среды для тестирования довольно дорого для проекта, который, скорее всего, не является платным, вероятно, пытается создать портфолио в качестве разработчика, чтобы продемонстрировать свои навыки миру. Существует довольно много платформ, которые можно использовать для тестирования приложений с ощущением производственной среды, но в этой статье мы будем размещать приложение laravel на Heroku с базой данных.

Рад!!! Начнем

Heroku — это система облачных вычислений «Платформа как услуга», которую можно использовать для развертывания приложений, аналогичных рабочим серверам. Это упрощает непрерывную интеграцию и непрерывное развертывание, чтобы поддерживать проект в актуальном состоянии с помощью локального компьютера или репозитория Github.

Представьте, что вы используете такую ​​простую команду, как git push master heroku, чтобы вносить изменения в работающий веб-сайт, чтобы клиент мог быть в курсе разработки и обновлений продукта. Супер круто правда?

В этом уроке мы создадим базовое приложение для аутентификации, используя laravel. Heroku поддерживает приложение PHP, поэтому мы можем развернуть приложение laravel без проблем с настройкой сервера.

Начнем со свежей установки приложения laravel.

laravel new deploy_laravelapp_on_heroku

OR

После успешной установки измените каталог на deploy_laravelapp_on_heroku.

cd deploy_laravelapp_on_heroku

Чтобы упростить эту статью, нам потребуется пользовательский интерфейс laravel для проверки подлинности, который не будет поддерживаться в будущей версии laravel.

Более того, если вы действительно хотите придерживаться новых строительных лесов, используя laravel fortify, не требуя пользовательского интерфейса laravel, вы можете взглянуть на этот учебник

Далее

composer require laravel/ui
php artisan ui bootstrap

если он не может скомпилировать ресурсы или выдает ошибку, запустите эту команду еще раз

Если все было сделано правильно, вы должны увидеть это в браузере

поскольку мы используем herokuapp для хостинга, нам не нужно изменять файл .env для конфигурации базы данных.

Затем откройте проект в своем любимом редакторе. Создайте файл с именем Procfile

Обратите внимание, что у этого файла нет расширения

Обратите внимание на написание Procfile

Затем откройте файл и вставьте фрагмент ниже. Что это делает, так это информирует heroku о том, как найти файл index.php в качестве веб-корня приложения.

web: vendor/bin/heroku-php-apache2 public/

Мы можем напрямую размещать приложения laravel на героку, не отправляя их на Github, что довольно просто, но мы будем отправлять наше приложение на Github, а затем свяжем его с приложением на героку.

После создания репозитория на Github давайте свяжем локальное приложение с удаленным репозиторием.

git commit -m "deploy laravel app on heroku"

Если у вас нет учетной записи на героку, вы можете создать ее здесь

Мы можем создать приложение на панели инструментов Heroku или из Heroku Toolbelt, в основном аналогично командной строке.

В каталоге приложения на CMD выполните следующую команду

Введите данные для входа, чтобы мы могли запускать команды из cmd в Heroku, не открывая браузер

После успешного входа в систему следует создать приложение. Если мы не укажем имя, Heroku создаст для приложения случайное имя.

Выполнить

Обратите внимание

Если имя репозитория github совпадает с именем приложения на heroku, оно автоматически устанавливает репозиторий Github по умолчанию, но в случае, когда имя репозитория не совпадает с именем приложения heroku, вы можете запустить команду ниже, чтобы синхронизировать heroku с репозиторий github из командной строки

heroku git:remote -a heroku-app-name

Затем откройте файл .env в проекте laravel, скопируйте APP_KEY и вставьте его

heroku config:set APP_KEY=paste_the_app_key_here

Если вы хотите, чтобы ошибки отображались, установите для отладки значение true, но после тестирования обязательно установите для него значение false, вы можете сделать это с помощью команды в cmd или перейти к var config на панели управления heroku и обновить его. Также обратите внимание, что вы можете использовать (добавить или установить)

heroku config:add APP_ENV=production
heroku config:add APP_URL="http://hosting-laravel-app-on-heroku.herokuapp.com/"
heroku config:add APP_NAME="hosting laravel app on heroku"

Подключение к базе данных — большая часть!!!

Мы настроим базу данных postgre (просто и бесплатно с 5 МБ, что довольно много для целей тестирования, да!), поскольку нам нужно общаться с базой данных для хранения данных пользователя.

Чтобы подключить приложение к Heroku, нам нужно настроить переменные среды запустить команды ниже, чтобы получить сведения о созданной удаленной базе данных.

heroku config:add DB_CONNECTION="pgsql"

Далее скопируйте dbhost= value.amazonaws.com

heroku config:add DB_HOST="....amazonaws.com"

Далее скопируйте порт=6232

heroku config:add DB_PORT="6232"

Далее скопируйте dbname=de9qtoert7ycce2

heroku config:add DB_DATABASE="de9qtoert7ycce2"

Далее скопируйте user=afzaottphzualakatu

heroku config:add DB_USERNAME="afzaottphzualakatu"

Далее скопируйте пароль=ye36ee6116736d31fuytr23465a0af6a340308ae28347t5g4trg2f76tr3t76

heroku config:add DB_PASSWORD="ye36ee6116736d31fuytr23465a0af6a340308ae28347t5g4trg2f76tr3t76"

Затем выполните приведенную ниже команду, чтобы обновить репозиторий heroku на github

Если все было сделано правильно, вы должны получить это изображение

Далее (вам будет предложено подтвердить, что вы хотите выполнить такой запрос) введите yes и нажмите Enter

Наше приложение может получить доступ к любому в мире! Да да прикольно…

Поздравляем, мы успешно разместили приложение laravel на Heroku с базой данных.

Репозиторий Github для этого руководства Спасибо, что прочитали эту статью.

Следите за новостями в следующей статье о том, как обрабатывать загрузку файлов на Heroku с помощью Cloudinary.

Пожалуйста, поделитесь с вашей сетью и не стесняйтесь использовать раздел комментариев для вопросов, ответов и предложений.

Вам нравится эта статья?? пожалуйста, подпишитесь на меня на hashnode или в твиттере @alemsbaja, чтобы быть в курсе новостей и узнавать больше об этих сериях ООП.

Первоначально опубликовано на https://alemsbaja.hashnode.dev.