Шпаргалка по развёртыванию Ларавел

Что нужно сделать (минимально) для развертывания проекта на рабочем сервере? Инструкция ниже применима к серверам без автодеплоя, например, для небольших заказов размещаемых на обычных хостингах клиентов.

Данные заметки написаны для Ларавел 11. Для последующих версий всё может измениться, думаю вы знаете как часто это бывает с Ларавел:)

1. Активация режима поддержки.

Этот шаг нужен для исключения обработки задач из очереди во время обновления. При плотном потоке задач этот шаг является необходимым.

Как обычно:

php artisan down

Или с предварительной отрисовкой страницы ошибки:

php artisan down --render="errors::503"

2. Скачивание новых исходников из репозитория.

git pull origin master

3. Установка PHP-зависимостей через Composer.

Доставляем и обновляем PHP-библиотеки с оптимизацией автозагрузчика, причем, исключаем библиотеки для окружения разработки и тестирования.

composer install --optimize-autoloader --no-dev

4. Применение миграций.

Обновляем структуру БД без подтверждения применения.

php artisan migrate --force

5. Оптимизация файлов фреймворка.

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

php artisan optimize:clear

Теперь можно закэшировать всё одной общей командой:

php artisan optimize

Или набором команд:

php artisan config:cache
php artisan event:cache
php artisan route:cache
php artisan view:cache

6. Перевод в рабочий режим.

Обновление проекта завершено, теперь пора его активировать:

php artisan up

На этом всё. На всякий случай стоит упомянуть вот что, хранить сессии и кеш желательно в быстрых хранилищах, например, в Redis. Также стоит помнить об отключении режима отладки (APP_DEBUG=false) и переводе окружения в рабочий режим (APP_ENV=production), да и «LOG_LEVEL» желательно повысить до «error». С правами на файлы и директории всё стандартно за исключением директорий bootstrap/cache и storage, на них должны быть права на запись у владельца процессе.

10.07.2024

Категория(-и): Статьи

#

Comments are closed.