Содержание: Laravel Toolkit — это бесплатное расширение Plesk, которое вы можете использовать для упрощения рутинных задач, связанных с размещением приложений Laravel.

В этом разделе вы узнаете, как загружать, настраивать и запускать приложения Laravel в Plesk. Обратите внимание, что в этом разделе предполагается, что у вас уже есть готовое приложение или вы планируете его создать. Это не руководство по созданию приложений Laravel.

Предварительные требования

Прежде чем вы сможете размещать приложения Laravel, на сервере Plesk должно быть установлено бесплатное расширение Laravel <https://www.plesk.com/extensions/laravel/>`__:

Once the extension is installed, you are ready to begin. You will see the Laravel button in the Navigation Pane, and also in the «Create Website» drawer on the domain cards of all your domains.

image laravel drawer

image laravel domain card install

Загрузка вашего приложения

Прежде чем вы сможете настроить и запустить свое приложение, вам необходимо загрузить его на сервер Plesk и зарегистрировать в Laravel Toolkit. Есть три способа сделать это:

  • Создайте скелетное приложение Laravel. Если ваше приложение хранится в папке или сжатом файле на вашем компьютере, или если вы хотите создать приложение с нуля, Laravel Toolkit может создать необходимую структуру каталогов, а также локальный репозиторий Git.
  • Установите из удаленного репозитория Git. Если ваше приложение хранится в удаленном репозитории, вы можете развернуть его на сервере Plesk.
  • Сканирование существующего приложения. Если вы уже загрузили свое приложение в Plesk, вы можете зарегистрировать свое приложение в Laravel Toolkit, отсканировав его.

Примечание: Чтобы иметь возможность создать скелет Laravel или выполнить установку из удаленного репозитория Git, на сервере Plesk должно быть установлено бесплатное расширение Git.

Создание скелета Laravel:

  1. Войдите в Plesk.
  2. Перейдите в раздел Сайты и домены, найдите домен, на котором будет размещено ваше приложение, и нажмите Создать сайт > Laravel.
  3. Выберите «Установить скелет», а затем нажмите Установить приложение.
  4. После установки скелета вам необходимо загрузить файлы приложения в Plesk (например, с помощью FTP или Файловый менеджер), при необходимости заменив файлы по умолчанию.

Установка из удаленного репозитория Git:

  1. Войдите в Plesk.
  2. Перейдите в раздел Сайты и домены, найдите домен, на котором будет размещено ваше приложение, и нажмите Создать сайт > Laravel.
  3. Выберите «Установить из удаленного репозитория».
  4. Введите или вставьте URL-адрес удаленного репозитория, содержащего файлы вашего приложения.
  5. Если удаленный репозиторий требует аутентификации, добавьте в репозиторий открытый ключ, который вы видите на этой странице.
  6. Нажмите Установить приложение.

Сканирование существующего приложения:

  1. Войдите в Plesk.
  2. Перейдите в раздел Сайты и домены, найдите домен, на котором будет размещено ваше приложение, и откройте вкладку «Хостинг и DNS».
  3. Click Hosting.
  4. Измените значение «Корневой папки», чтобы оно соответствовало пути к общедоступному каталогу вашего приложения (по умолчанию /httpdocs/public), а затем нажмите Сохранить.
  5. Go back to the «Dashboard» tab, click Create Website > Laravel, click Cancel, and then click Scan.

После того, как вы загрузили или развернули файлы приложения и приложение было зарегистрировано в Laravel Toolkit, кнопка Laravel появится в карточке домена, на котором размещено приложение.

image laravel domain card manage

Теперь вы можете перейти к следующему шагу.

Запуск команд Artisan, Composer и Node.js

Для управления приложением Laravel вам, вероятно, потребуется запускать команды Artisan, Composer и/или Node.js. Laravel Toolkit позволяет легко запускать их из интерфейса Plesk без необходимости shell-доступа.

Если вы не уверены, нужно ли вам запускать команды Artisan, Composer и/или Node.js для правильной работы вашего приложения, проконсультируйтесь с лицом или организацией, предоставившей вам приложение.

Примечание: Чтобы иметь возможность запускать команды Node.js, на сервере Plesk должно быть установлено бесплатное расширение Node.js.

image laravel run commands

Запуск команды Artisan, Composer или Node.js:

  1. Войдите в Plesk.

  2. Перейдите в раздел Сайты и домены, найдите домен, на котором размещено ваше приложение, и нажмите Laravel.

  3. Перейдите на соответствующую вкладку, введите команду, которую хотите запустить, или выберите ее из списка, а затем нажмите клавишу Enter или кнопку image ui lib start.

    Примечание: При выполнении команд Node.js может потребоваться указать конкретную версию Node.js и/или диспетчер пакетов, чтобы получить желаемый результат. Если вы не уверены, что выбрать, проконсультируйтесь с лицом или организацией, предоставившей вам приложение.

Просмотр файлов журнала приложения

Во время работы ваше приложение Laravel записывает свой журнал в отдельный файл. Вы можете просматривать содержимое этого файла прямо из интерфейса Laravel Toolkit, это поможет следить за работой приложения и устранять любые проблемы, если они возникнут.

image laravel view logs

Просмотр журнала приложения:

  1. Войдите в Plesk.
  2. Перейдите в раздел Сайты и домены, найдите домен, на котором размещено ваше приложение, и нажмите Laravel.
  3. Нажмите Журналы.

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

Просмотр запланированных задач приложения

С помощью Laravel вы можете планировать задачи внутри кода приложения вместо использования внешнего планировщика, такого как cron. С помощью Laravel Toolkit можно увидеть все настроенные в данный момент запланированные задачи прямо из интерфейса Laravel Toolkit, а также включать или отключать запланированные задачи Laravel.

Примечание: Из интерфейса Laravel Toolkit нельзя добавлять, удалять или редактировать запланированные задачи Laravel. Узнайте, как планировать задачи внутри кода приложения

image laravel view scheduled tasks

Просмотр запланированных задач приложения:

  1. Войдите в Plesk.
  2. Перейдите в раздел Сайты и домены, найдите домен, на котором размещено ваше приложение, и нажмите Laravel.
  3. Перейдите на вкладку «Запланированные задачи» (эта вкладка отображается только в том случае, если настроена одна или несколько запланированных задач).

Примечание: Чтобы иметь возможность включать или отключать запланированные задачи приложения, сначала нужно выполнить определенную операцию, в зависимости от того, используете ли вы Plesk для Linux или Plesk для Windows. Вам нужно сделать это для каждого домена, на котором размещено приложение Laravel, запланированные задачи которого вы хотите запустить.

Enabling scheduled tasks management:

  1. Войдите в Plesk.
  2. Enable the «Scheduler management» permission (found on the «Permissions» tab) for the subscription to which the domain hosting your application belongs.
  3. (Plesk для Linux) Перейдите в раздел Сайты и домены, найдите домен, на котором размещено ваше приложение, перейдите на вкладку «Хостинг и DNS» и нажмите Хостинг.
  4. (Plesk для Linux) В разделе «Доступ по SSH» выберите любой вариант, кроме «Запрещено», а затем нажмите Сохранить.

Теперь вы можете включать и отключать запланированные задачи вашего приложения.

Включение запланированных задач приложения:

  1. Войдите в Plesk.
  2. Перейдите в раздел Сайты и домены, найдите домен, на котором размещено ваше приложение, и нажмите Laravel.
  3. Нажмите переключатель Запланированные задачи, чтобы он показывал «Включено».

Запланированные задачи теперь включены для вашего приложения Laravel.

Изменение переменных среды

Вашему приложению может потребоваться одна или несколько настраиваемых переменных среды для правильной работы, или оно может изменять свое поведение в зависимости от установленных переменных среды. Если вы не уверены, нужны ли вашему приложению какие-либо переменные среды для правильной работы, проконсультируйтесь с лицом или организацией, предоставившей вам приложение.

Изменение переменных среды:

  1. Войдите в Plesk.
  2. Перейдите в раздел Сайты и домены, найдите домен, на котором размещено ваше приложение, и нажмите Laravel.
  3. Нажмите кнопку Изменить рядом с «Переменные среды (.env)».
  4. Измените переменные среды желаемым образом и нажмите Обновить.

Теперь действуют обновленные переменные среды.

Перевод приложения в режим техобслуживания

Чтобы у пользователей не возникало ошибок, пока вы работаете с приложением или обновляете его, вы можете перевести его в режим техобслуживания. Пока приложение находится в режиме техобслуживания, при посещении сайта будет отображаться страница с ошибкой «503 SERVICE UNAVAILABLE».

Перевод приложения в режим техобслуживания:

  1. Войдите в Plesk.
  2. Перейдите в раздел Сайты и домены, найдите домен, на котором размещено ваше приложение, и нажмите Laravel.
  3. Нажмите переключатель Режим техобслуживания, чтобы он показывал «Включено».

Приложение Laravel находится в режиме обслуживания.

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

Обновление вашего приложения

Независимо от того, хранятся ли файлы приложения Laravel в локальном или удаленном репозитории Git, убедитесь, что изменения в коде приложения отправлены на сервер Plesk. Вы можете установить изменения автоматически или вручную.

Если вам нужен полный контроль над временем обновления приложения, рекомендуется обновлять его вручную. Таким образом изменения, сделанные в коде приложения в репозитории, не будут отправлены на сервер Plesk, пока это вам не понадобится. Недостатком такого подхода является то, что вам придется делать это вручную при каждом обновлении приложения.

Обновление приложения вручную:

  1. Войдите в Plesk.
  2. Перейдите в раздел Сайты и домены, найдите домен, на котором размещено ваше приложение, и нажмите Laravel.
  3. Перейдите на вкладку «Развертывание» и для опции «Режим развертывания» установите переключатель на «Вручную».
  4. В разделе «Сценарий развертывания» уберите галочки, соответствующие шагам, которые вы хотите пропустить при развертывании, и нажмите «Развернуть».

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

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

Обновление приложения вручную (локальный репозиторий):

  1. Войдите в Plesk.
  2. Перейдите в раздел Сайты и домены, найдите домен, на котором размещено ваше приложение, и нажмите Laravel.
  3. Перейдите на вкладку «Развертывание» и для опции «Режим развертывания» установите переключатель на «Автоматически».
  4. В разделе «Сценарий развертывания» уберите галочки, соответствующие шагам, которые вы хотите пропустить при развертывании.

Теперь каждый раз, когда коммит отправляется в ветку master локального репозитория с кодом приложения, приложение и его зависимости будут обновляться.

Обновление приложения вручную (удаленный репозиторий):

  1. Войдите в Plesk.
  2. Перейдите в раздел Сайты и домены, найдите домен, на котором размещено ваше приложение, и нажмите Laravel.
  3. Скопируйте отсюда URL-адрес веб-хука и добавьте в удаленный репозиторий. Подробные инструкции вы найдете в документации провайдера вашего репозитория.
  4. Перейдите на вкладку «Развертывание» и для опции «Режим развертывания» установите переключатель на «Автоматически».
  5. В разделе «Сценарий развертывания» уберите галочки, соответствующие шагам, которые вы хотите пропустить при развертывании.

Теперь каждый раз, когда в удаленном репозитории с кодом приложения происходит событие-триггер веб-хука, приложение и его зависимости будут обновляться.

Настройка скрипта развертывания

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

Если вы не уверены, нужно ли для правильной работы вашего приложения запускать какие-либо команды во время развертывания, проконсультируйтесь с лицом или организацией, предоставившей вам приложение.

Примечание: В Plesk для Linux необходимо включить доступ по SSH, прежде чем вы сможете изменять сценарий развертывания из интерфейса Laravel Toolkit. Это нужно сделать только один раз.

(Plesk for Linux) Enabling the ability to edit the deployment script:

  1. Войдите в Plesk.
  2. Перейдите в раздел Сайты и домены, найдите домен, на котором размещено ваше приложение, перейдите на вкладку «Хостинг и DNS» и нажмите Хостинг.
  3. В разделе «Доступ по SSH» выберите любой вариант, кроме «Запрещено», а затем нажмите Сохранить.

Теперь можно изменять сценарий развертывания из интерфейса Laravel Toolkit.

Изменение сценария развертывания:

  1. Войдите в Plesk.
  2. Перейдите в раздел Сайты и домены, найдите домен, на котором размещено ваше приложение, и нажмите Laravel.
  3. Перейдите на вкладку «Развертывание» и нажмите Изменить сценарий.
  4. Введите или вставьте сценарий развертывания, а затем нажмите Обновить.

Сценарий развертывания теперь будет запускаться каждый раз, когда вы обновляете приложение.

Managing Queues

Queues in Laravel make it possible to process time-consuming tasks, such as parsing an uploaded file, asynchronously in the background. If your application supports queues, you can enable them in Plesk to configure the queue worker process.

To use queues, you need to enable them for your subscription, and also to create a database for the queue worker to use. This is a one time procedure.

Laravel queues can use a variety of queue backends. However, in this guide we will only cover using a MySQL/MariaDB database as backend. This is the simplest way to enable queues in Plesk, and it should be sufficient for most users. Other backends may provide advantages, such as improved access times, but they require expertise to implement and maintain, and may also incur additional costs.

Enabling queues:

  1. Log in to Plesk, and then locate the domain hosting your application.

  2. Enable scheduled tasks for your application. This is necessary for queues to function.

  3. In your application’s Git project repository, add the following line to the «require» section of the composer.json file:

    "plesk/ext-laravel-integration": "^7.0"
    

    Примечание: In each section of the composer.json file, every line except the last one must end with a comma.

    If you use a local Git repository, do not make this change via File Manager. Instead, commit changes to the repository. This is to avoid the changes being overwritten the next time you deploy your application.

  4. Click Laravel, go to the «Deployment» tab, and then click Deploy. This will result in changes being made to the contents of the composer.lock file. Commit those changes to the repository to avoid the changes being overwritten the next time you deploy your application.

  5. After committing the changes, click Deploy once again.

  6. (Optional) Return to the domain card, click Databases, and then click Add Database.

    Примечание: If your Laravel application is already using a MySQL/MariaDB database, you can use that database to enable queues. In that case, skip this step, and also the following step.

  7. (Optional) Create a MySQL or MariaDB database, and a database user.

  8. Return to the domain card, click Laravel, and then click the Edit button next to «Environment variables (.env)».

  9. Add the following lines to the .env file, replacing the placeholders with the information about the database you want to use (either the one just created, or the one already being used by your Laravel application):

    DB_CONNECTION=mysql
    DB_HOST=<database server IP address or hostname>
    QUEUE_CONNECTION=database
    DB_DATABASE=<database name>
    DB_USERNAME=<database user name>
    DB_PASSWORD=<database user password>
    

    and then click «Update».

  10. Put your Laravel application into maintenance mode.

  11. Go to the «Artisan» tab, and then run the following commands, in this order:

    queue:table

    migrate

  12. Go to the «Dashboard» tab, take your Laravel application out of maintenance mode, and then click the Queue toggle button so that it shows «Enabled».

Queues are now enabled for your Laravel application.

To make the queue worker process use server resources more efficiently, there is a number of settings you can configure in Plesk. They mostly deal with conditions under which the queue worker process may exit, freeing the memory it has been using.

image laravel queue worker settings

Configuring the queue worker process:

  1. Log in to Plesk, and then locate the domain hosting your application.

  2. Click Laravel, and then go to the «Queue» tab.

  3. (Optional) Select the «Stop Worker When Empty» checkbox to configure the worker process to stop when there are no jobs in the queue. If you do, the worker process will start every 60 seconds, process all jobs currently in the queue, and then exit.

    If you do not select the «Stop Worker When Empty» checkbox, the worker process will remain running even when there are no jobs in the queue.

  4. (Optional) Set a custom «Timeout» value to configure the worker process to exit with an error if job has been running for a length of time exceeding the configured value. Make sure that the «Timeout» value allows enough time for a typical job created by your Laravel application to finish.

    If you do not set a custom «Timeout» value, the worker process will not exit even if an individual job has been in the queue being processed for a long time (for example, because the job has become stuck).

    Осторожно: Setting too low a value may result in jobs failing because of insufficient time to process (for example, when uploading a large file). If you start experiencing failed jobs after setting a custom «Timeout» value, consider increasing it or returning the parameter to its default value («0», indicating no limit on job processing time).

  5. (Optional) Set a custom «Max Jobs» value to configure the worker process to exit once it has processed a certain number of jobs.

    If you do not set a custom «Max Jobs» value, the worker process will not stop, even if it has processed a large number of jobs.

  6. (Optional) Set a custom «Max Time» value to configure the worker process to exit once it has been running for the specified number of seconds (the worker process will not exit while in the middle of processing a job).

    If you do not set a custom «Max Time» value, the worker process will keep running even if it has been running for a long time.

The queue worker process has been configured and should now use server resources more efficiently.

Jobs may fail due to many reasons. Plesk keeps track of failed jobs, which you can restart or dismiss.

image laravel failed jobs

Viewing, restarting, and dismissing failed jobs:

  1. Log in to Plesk, and then locate the domain hosting your application.
  2. Click Laravel, go to the «Queue» tab, and then click Show failed jobs to see the list of failed jobs.
  3. (Optional) Select one or more failed jobs, and then click Retry to restart them.
  4. (Optional) Select one or more failed jobs, and then click Delete to remove them from the list.
  5. (Optional) Click Flush to remove all failed jobs from the list.

Failed jobs have now been restarted and/or dismissed.