Все статьи | Код

Как развернуть приложение Laravel на Heroku

Как развернуть приложение Laravel на Heroku главное изображение

Из этой статьи вы узнаете, как задеплоить проект Laravel на Heroku — облачной платформе для развёртывания, управления и масштабирования проектов.

Что понадобится для работы

  • Знания PHP и Laravel
  • Аккаунт на Heroku
  • Heroku CLI (можно загрузить здесь)
  • Git (инструкция по установке здесь)

Предполагается, что у вас есть приложение на Laravel, которое работает на локальном сервере и готово к развёртыванию.

Шаг 1: инициализируйте Git

Инициализируйте git-репозиторий в текущей рабочей директории. Используйте такую команду:

$ git init

Внимание: если вы не умеете работать с Git, пройдите бесплатный курс по системам контроля версий.

Шаг 2: создайте Procfile

В рабочей директории создайте Procfile без расширения и добавьте в него такую строку:

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

Также Procfile можно создать и обновлять через терминал. Для этого понадобится следующая команда:

$ echo "web: vendor/bin/heroku-php-apache2 public/" > Procfile

Шаг 3: создайте новое приложение на Heroku

Это можно сделать с помощью команды:

$ heroku create

В этом случае для вашего проекта устанавливается рандомное название. Чтобы его изменить, используйте следующую команду:

$ heroku apps:rename newAppName

Вместо newAppName укажите желаемое название проекта.

Шаг 4: подключите Node.js

Node.js понадобится для работы с командами npm install, npm production и так далее. Добавьте в проект пакет heroku/nodejs с помощью команды:

$ heroku buildpacks:add heroku/nodejs

После этого все зависимости, указанные в package.json, будут установлены при развёртывании проекта, а devDependencies будут проигнорированы.

Чтобы устанавливать все зависимости, включая dev, используйте такую команду:

$ heroku config:set NPM_CONFIG_PRODUCTION=false

Затем добавьте postinstall в package.json:

"scripts": {
  "postinstall": "npm run prod"
}

Шаг 5: настройте ключ шифрования Laravel

Чтобы настроить ключ шифрования, скопируйте значение APP_KEY из файла .env и выполните указанную ниже команду:

$ heroku config:set APP_KEY="Your app key"

А с помощью предложенной далее команды можно сгенерировать и установить новый ключ шифрования.

$ heroku config:set APP_KEY=$(php artisan --no-ansi key:generate --show)

Шаг 6: отправьте приложение на Heroku

Запушить приложение на Heroku можно с помощью такой команды:

$ git push heroku main

Шаг 7: убедитесь, что приложение использует правильные пакеты сборки

Для этого используйте предложенную команду:

$ heroku buildpacks

Если в списке пакетов есть heroku/php и heroku/nodejs, всё в порядке. Если какого-то из пакетов нет, запустите такую команду:

$ heroku buildpacks:add ['missing build']

Вместо [‘missing build’] укажите название пакета, который нужно добавить.

Шаг 8: проверьте доступность приложения

Для этого введите в адресную строку браузера соответствующий URL.

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

$ heroku config:set VAR_NAME=VAR_VALUE

Также можно использовать панель инструментов. На вкладке Settings выберите Reveal config vars. Здесь можно просмотреть и настроить переменные окружения.

Heroku позволяет бесплатно использовать PostgreSQL. Для этого понадобится такая команда:

$ heroku addons:create heroku-postgresql:hobby-dev

На панели инструментов в настройках укажите для DB_CONNECTION значение pgsql. Выберите Reveal config vars, чтобы проверить переменные окружения.

Чтобы получить учётные данные БД приложения, выберите аддон Heroku Postgres Hobby Dev на вкладке Overview панели инструментов. После этого откроется новая вкладка в браузере. Учётные данные БД можно найти на вкладке «Настройки».

Обратите внимание, чтобы использовать команды artisan или npm на Heroku, перед всеми командами запускайте heroku run. Например, heroku run php artisan storage:link или heroku run npm install.

Адаптированный перевод статьи How to deploy a Laravel/Vue App to Heroku by Chinedu Ogama. Мнение администрации Хекслета может не совпадать с мнением автора оригинальной публикации.

Аватар пользователя Дмитрий Дементий
Дмитрий Дементий 01 апреля 2020
Рекомендуемые программы

С нуля до разработчика. Возвращаем деньги, если не удалось найти работу.

Иконка программы Фронтенд-разработчик
Профессия
Разработка фронтенд-компонентов веб-приложений
30 июня 10 месяцев
Иконка программы Python-разработчик
Профессия
Разработка веб-приложений на Django
30 июня 10 месяцев
Иконка программы PHP-разработчик
Профессия
Разработка веб-приложений на Laravel
30 июня 10 месяцев
Иконка программы Node.js-разработчик
Профессия
Разработка бэкенд-компонентов веб-приложений
30 июня 10 месяцев
Иконка программы Fullstack-разработчик
Профессия
Новый
Разработка фронтенд и бэкенд компонентов веб-приложений
30 июня 16 месяцев
Иконка программы Верстальщик
Профессия
Вёрстка с использованием последних стандартов CSS
в любое время 5 месяцев
Иконка программы Java-разработчик
Профессия
Разработка приложений на языке Java
30 июня 10 месяцев
Иконка программы Разработчик на Ruby on Rails
Профессия
Создает веб-приложения со скоростью света
30 июня 5 месяцев