Laravel-Toolkit
Inhalt: Das Laravel-Toolkit ist eine kostenlose Plesk-Erweiterung, mit der Sie Routineaufgaben im Zusammenhang mit dem Hosting von Laravel-Anwendungen vereinfachen können.
In diesem Artikel erfahren Sie, wie Sie Laravel-Anwendungen in Plesk hochladen, konfigurieren und ausführen. Dies ist kein Leitfaden zur Erstellung von Laravel-Anwendungen. Es wird hier davon ausgegangen, dass Sie die Anwendung bereits haben oder dabei sind, eine zu erstellen.
Voraussetzungen
Bevor Sie Laravel-Anwendungen hosten können, muss die kostenlose Laravel-Erweiterung <https://www.plesk.com/extensions/laravel/>`__ auf dem Plesk Server installiert werden:
- Wenn Sie der Plesk Administrator sind, installieren Sie die Erweiterung aus dem Katalog der Erweiterungen.
- Oder bitten Sie Ihren Hosting-Anbieter, die Erweiterung für Sie zu installieren.
Once the extension is installed, you are ready to begin. You will see the Laravel button in the drawer on the left side of the screen, and also the Laravel button on the Install Application drawer on the domain cards of all your domains.
Hochladen der Anwendung
Vor der Konfiguration und Ausführung Ihrer Anwendung müssen Sie sie auf den Plesk-Server hochladen und im Laravel Toolkit registrieren. Es gibt drei Möglichkeiten, dies zu tun:
- Erstellen Sie ein Laravel-Skelett Falls Ihre Anwendung in einem Ordner oder einer komprimierten Datei auf Ihrem Computer gespeichert ist, oder falls Sie Ihre Anwendung von Grund auf neu erstellen möchten, kann das Laravel Toolkit die erforderliche Verzeichnisstruktur und auch ein lokales Git-Repository erstellen.
- Installation aus einem entfernten Git-Repositorium Wenn Ihre Anwendung in einem entfernten Repositorium gespeichert ist, können Sie sie auf dem Plesk Server bereitstellen.
- Suchen Sie nach einer vorhandenen Anwendung. Wenn Sie Ihre Anwendung bereits in Plesk hochgeladen haben, können Sie Ihre Anwendung im Laravel-Toolkit registrieren, indem Sie danach suchen.
Bemerkung: Um ein Laravel-Skelett zu erstellen oder von einem entfernten Git-Repositorium zu installieren, muss die kostenlose Git-Erweiterung auf dem Plesk-Server installiert sein.
Erstellen eines Laravel-Skeletts
- Anmeldung bei Plesk.
- Go to Websites & Domains, find the domain that will host your application, and then click Install Application > Laravel.
- Wählen Sie „Skelett installieren“, und klicken Sie dann auf Anwendung installieren.
- Nach der Installation des Skeletts müssen Sie Ihre Anwendungsdateien in Plesk hochladen (zum Beispiel mit FTP oder File Manager) und dabei die Standarddateien nach Bedarf ersetzen.
Installation aus einem entfernten Git-Repositorium
- Anmeldung bei Plesk.
- Go to Websites & Domains, find the domain that will host your application, and then click Install Application > Laravel.
- Wählen Sie „Vom Remote-Repositorium installieren“.
- Geben Sie die URL des Remote-Repositoriums, das die Dateien Ihrer Anwendung enthält, ein oder fügen Sie sie ein.
- Wenn das Remote-Repositorium eine Authentifizierung erfordert, fügen Sie den öffentlichen Schlüssel, den Sie auf dieser Seite sehen, dem Repositorium hinzu.
- Klicken Sie auf Anwendung installieren.
Scannen nach einer vorhandenen Anwendung
- Anmeldung bei Plesk.
- Gehen Sie zu Websites & Domains, suchen Sie die Domain, auf der Ihre Anwendung gehostet wird, und öffnen Sie dann den Tab „Hosting & DNS“.
- Klicken Sie auf**Hosting-Einstellungen**.
- Ändern Sie den Wert „Document Root“ so, dass er dem Pfad zum öffentlichen Verzeichnis Ihrer Anwendung entspricht (standardmäßig
/httpdocs/public
), und klicken Sie dann auf OK. - Klicken Sie auf Laravel-Anwendung installieren, klicken Sie auf Abbrechen und dann auf Scannen.
Once you have uploaded or deployed your application’s files and your application has been registered in Laravel Toolkit, the Laravel button will appear on the card of the domain hosting your application.
Sie können nun mit dem nächsten Schritt fortfahren.
Artisan, Composer und Node.js-Befehle ausführen
Um Ihre Laravel-Anwendung zu verwalten, müssen Sie möglicherweise Artisan-, Composer- und/oder Node.js-Befehle ausführen. Mit dem Laravel-Toolkit können Sie diese Befehle ganz einfach über die Plesk-Schnittstelle ausführen, ohne dass Sie einen Shell-Zugang benötigen.
Wenn Sie sich nicht sicher sind, ob Sie irgendwelche Artisan-, Composer- und/oder Node.js-Befehle ausführen müssen, damit Ihre Anwendung ordnungsgemäß läuft, wenden Sie sich an die Person oder Organisation, die Ihnen die Anwendung zur Verfügung gestellt hat.
Bemerkung: Bevor Sie Node.js-Befehle ausführen können, muss die kostenlose Node.js-Erweiterung auf dem Plesk-Server installiert sein.
Ausführen eines Artisan-, Composer- oder Node.js-Befehls
-
Go to Websites & Domains, find the domain hosting your application, and then click Laravel.
-
Go to the corresponding tab, type in the command you want to run or select one from the list, and then press the Enter key or click the
button.
Bemerkung: Wenn Sie Node.js-Befehle ausführen, müssen Sie möglicherweise eine bestimmte Node.js-Version und/oder einen Paketmanager angeben, damit der Befehl die erwünschte Wirkung hat. Wenn Sie nicht sicher sind, was Sie wählen sollen, wenden Sie sich an die Person oder Organisation, von der Sie die Anwendung erhalten haben.
Anzeigen der Protokolldateien Ihrer Anwendung
Während Ihre Laravel-Anwendung läuft, schreibt sie ihr Protokoll in eine separate Protokolldatei. Sie können den Inhalt dieser Datei direkt von der Laravel-Toolkit-Benutzeroberfläche aus einsehen, um die Überwachung Ihrer Anwendung und die Fehlerbehebung bei auftretenden Problemen zu erleichtern.
Aufrufen des Protokolls Ihrer Anwendung
- Anmeldung bei Plesk.
- Go to Websites & Domains, find the domain hosting your application, and then click Laravel.
- Klicken Sie auf Protokolle.
Dadurch wird der Protokollbrowser der Domain geöffnet, der nur die Protokolleinträge aus dem Laravel-Protokoll anzeigt.
Anzeigen der geplanten Aufgaben Ihrer Anwendung
Mit Laravel können Sie Aufgaben innerhalb des Codes der Anwendung planen, anstatt einen externen Planer, wie z. B. cron, zu verwenden. Mit dem Laravel Toolkit können Sie direkt von der Benutzeroberfläche des Laravel Toolkits aus alle aktuell konfigurierten geplanten Aufgaben sehen und auch die geplanten Laravel-Aufgaben aktivieren oder deaktivieren.
Bemerkung: Sie können keine geplanten Laravel-Aufgaben über die Laravel Toolkit-Schnittstelle hinzufügen, entfernen oder bearbeiten. Erfahren Sie, wie man Aufgaben im Code der Anwendung plant <https://laravel.com/docs/9.x/scheduling>`__
Anzeigen der geplanten Aufgaben Ihrer Anwendung
- Anmeldung bei Plesk.
- Go to Websites & Domains, find the domain hosting your application, and then click Laravel.
- Rufen Sie die Registerkarte „Geplante Aufgaben“ auf (die Registerkarte ist nur sichtbar, wenn eine oder mehrere geplante Aufgaben konfiguriert sind).
Bemerkung: Um die geplanten Aufgaben Ihrer Anwendung aktivieren oder deaktivieren zu können, müssen Sie zunächst einen bestimmten Vorgang durchführen, je nachdem, ob Sie Plesk für Linux oder Plesk für Windows verwenden. Diese Operation müssen Sie für jede Domain durchführen, die eine Laravel-Anwendung hostet, deren geplante Aufgaben Sie ausführen möchten.
Enabling scheduled tasks management
- Anmeldung bei Plesk.
- Enable the „Scheduler management“ permission (found on the „Permissions“ tab) for the subscription to which the domain hosting your application belongs.
- (Plesk for Linux) Go to Websites & Domains, find the domain hosting your application, go to the „Hosting & DNS“ tab, and then click Web Hosting Access.
- (Plesk for Linux) Under „Access to the server over SSH“, select any option other than „Forbidden“, and then click OK.
Sie können jetzt die geplanten Aufgaben Ihrer Anwendung aktivieren oder deaktivieren.
Aktivieren der geplanten Aufgaben für Ihre Anwendung
- Anmeldung bei Plesk.
- Go to Websites & Domains, find the domain hosting your application, and then click Laravel.
- Klicken Sie auf die Schaltfläche Geplante Aufgaben, so dass sie „Aktiviert“ anzeigt.
Geplante Aufgaben sind jetzt für Ihre Laravel-Anwendung aktiviert.
Bearbeiten der Umgebungsvariablen
Ihre Anwendung benötigt möglicherweise eine oder mehrere benutzerdefinierte Umgebungsvariablen, um ordnungsgemäß zu laufen, oder sie ändert ihr Verhalten in Abhängigkeit von den gesetzten Umgebungsvariablen. Sollten Sie sich nicht sicher sein, ob Ihre Anwendung Umgebungsvariablen benötigt, um ordnungsgemäß zu laufen, wenden Sie sich an die Person oder Organisation, die Ihnen die Anwendung zur Verfügung gestellt hat.
Bearbeiten von Umgebungsvariablen
- Anmeldung bei Plesk.
- Go to Websites & Domains, find the domain hosting your application, and then click Laravel.
- Klicken Sie auf die Schaltfläche Bearbeiten neben „Umgebungsvariablen (.env)“.
- Bearbeiten Sie die Umgebungsvariablen nach Bedarf, und klicken Sie dann auf Aktualisieren.
Die aktualisierten Umgebungsvariablen werden jetzt angewendet.
Versetzung Ihrer Anwendung in den Wartungsmodus
Um zu verhindern, dass Website-Besucher Fehler sehen, während Sie an Ihrer Anwendung arbeiten oder sie aktualisieren, können Sie sie in den Wartungsmodus versetzen. Während sich Ihre Anwendung im Wartungsmodus befindet, sehen Website-Besucher eine Seite mit der Fehlermeldung „503 SERVICE UNAVAILABLE“.
Versetzung Ihrer Anwendung in den Wartungsmodus
- Anmeldung bei Plesk.
- Go to Websites & Domains, find the domain hosting your application, and then click Laravel.
- Klicken Sie auf die Schaltfläche Wartungsmodus, so dass sie „Aktiviert“ anzeigt.
Ihre Laravel-Anwendung befindet sich jetzt im Wartungsmodus.
Bemerkung: Denken Sie daran, den Wartungsmodus Ihrer Anwendung zu beenden, wenn Sie die Arbeit daran oder die Aktualisierung abgeschlossen haben.
Aktualisieren Ihrer Anwendung
Unabhängig davon, ob die Dateien Ihrer Laravel-Anwendung in einem lokalen oder einem Remote-Git-Repository gespeichert sind, müssen Sie dafür sorgen, dass die am Code der Anwendung vorgenommenen Änderungen auf den Plesk Server übertragen werden. Sie können wählen, ob Sie die Änderungen manuell oder automatisch bereitstellen möchten.
Wenn Sie genau bestimmen möchten, wann Ihre Anwendung aktualisiert wird, empfehlen wir Ihnen, sie manuell zu aktualisieren. Auf diese Weise werden Änderungen am Code der Anwendung im Repository erst dann an den Plesk Server weitergegeben, wenn Sie bereit sind, dies zu tun. Der Nachteil dieses Ansatzes ist, dass Sie jedes Mal, wenn die Anwendung aktualisiert werden muss, manuelle Aktionen durchführen müssen.
Manuelles Aktualisieren Ihrer Anwendung
- Anmeldung bei Plesk.
- Go to Websites & Domains, find the domain hosting your application, and then click Laravel.
- Gehen Sie zum Tab „Bereitstellung“ und wählen Sie unter „Bereitstellungsmodus“ das Optionsfeld „Manuell“.
- Deaktivieren Sie unter „Bereitstellungsszenario“ die Kontrollkästchen für die Schritte, die Sie während der Bereitstellung nicht ausführen möchten, und klicken Sie dann auf Bereitstellen.
Sobald das Laravel Toolkit alle Bereitstellungsschritte durchlaufen hat, werden Ihre Anwendung und ihre Abhängigkeiten aktualisiert.
Wenn Sie möchten, dass die am Code der Anwendung vorgenommenen Änderungen automatisch auf den Plesk Server übertragen werden, unterscheidet sich die Methode je nachdem, ob der Code der Anwendung in einem lokalen oder einem Remote-Git-Repository gespeichert ist.
Automatische Aktualisierung Ihrer Anwendung (lokales Repository)
- Anmeldung bei Plesk.
- Go to Websites & Domains, find the domain hosting your application, and then click Laravel.
- Gehen Sie zum Tab „Bereitstellung“ und wählen Sie unter „Bereitstellungsmodus“ das Optionsfeld „Automatisch“.
- Deaktivieren Sie unter „Bereitstellungsszenario“ die Kontrollkästchen für die Schritte, die Sie während der Bereitstellung nicht ausführen möchten.
Jedes Mal, wenn ein Commit in den master
-Zweig des lokalen Repositorys verschoben wird, in dem der Code der Anwendung gespeichert ist, werden Ihre Anwendung und ihre Abhängigkeiten aktualisiert.
Automatische Aktualisierung Ihrer Anwendung (Remote-Repository)
- Anmeldung bei Plesk.
- Go to Websites & Domains, find the domain hosting your application, and then click Laravel.
- Kopieren Sie die Webhook-URL, die Sie hier sehen, und fügen Sie sie dann dem Remote-Repository hinzu. Genaue Anweisungen finden Sie in der Dokumentation Ihres Repository-Anbieters.
- Gehen Sie zum Tab „Bereitstellung“ und wählen Sie unter „Bereitstellungsmodus“ das Optionsfeld „Automatisch“.
- Deaktivieren Sie unter „Bereitstellungsszenario“ die Kontrollkästchen für die Schritte, die Sie während der Bereitstellung nicht ausführen möchten.
Jetzt werden Ihre Anwendung und ihre Abhängigkeiten jedes Mal aktualisiert, wenn das Ereignis, das den Webhook auslöst, in dem Remote-Repository stattfindet, in dem der Code der Anwendung gespeichert ist.
Konfiguration eines Bereitstellungsskripts
Ihre Anwendung benötigt möglicherweise bestimmte Befehle, die während der Bereitstellung auf dem Server ausgeführt werden müssen, um ordnungsgemäß zu funktionieren. Damit Sie diese Befehle nicht manuell ausführen müssen, können Sie ein Bereitstellungs-Skript konfigurieren, das jedes Mal ausgeführt wird, wenn die Anwendung aktualisiert wird.
Sollten Sie sich nicht sicher sein, ob Ihre Anwendung während der Bereitstellung irgendwelche Befehle ausführen muss, um ordnungsgemäß zu funktionieren, wenden Sie sich an die Person oder Organisation, die Ihnen die Anwendung zur Verfügung gestellt hat.
Bemerkung: In Plesk für Linux müssen Sie den SSH-Zugang aktivieren, bevor Sie das Bereitstellungs-Skript über die Benutzeroberfläche des Laravel Toolkits bearbeiten können. Sie müssen dies nur einmal durchführen.
Aktivierung der Bearbeitung des Bereitstellungsskripts in Plesk für Linux
- Anmeldung bei Plesk.
- Rufen Sie Websites & Domains auf, suchen Sie die Domain, die Ihre Anwendung hostet, gehen Sie zur Registerkarte „Hosting & DNS“ und klicken Sie dann auf Webhosting-Zugang.
- Wählen Sie unter „Zugriff auf den Server über SSH“ eine andere Option als „Verboten“ und klicken Sie dann auf OK.
Sie können das Bereitstellungs-Skript jetzt über die Oberfläche des Laravel Toolkits bearbeiten.
Bearbeiten des Bereitstellungs-Skripts
- Anmeldung bei Plesk.
- Go to Websites & Domains, find the domain hosting your application, and then click Laravel.
- Rufen Sie die Registerkarte „Bereitstellung“ auf und klicken Sie dann auf Skript bearbeiten.
- Geben Sie Ihr Bereitstellungs-Skript ein oder fügen Sie es ein, und klicken Sie dann auf Aktualisieren.
Das Bereitstellungs-Skript ist nun aktiv und wird jedes Mal ausgeführt, wenn Sie Ihre Anwendung aktualisieren.
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 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
-
Log in to Plesk, and then locate the domain hosting your application.
-
Enable scheduled tasks for your application. This is necessary for queues to function.
-
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"
Bemerkung: 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.
-
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. -
After committing the changes, click Deploy once again.
-
(Optional) Return to the domain card, go to Databases, and then click Add Database.
Bemerkung: If your Laravel application is already using a MySQL database, you can use that database to enable queues. In that case, skip this step, and also the following step.
-
(Optional) Create a MySQL or MariaDB database, and a database user.
-
Return to the domain card, click Laravel, and then click the Edit button next to „Environment variables (.env)“.
-
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“.
-
Go to the „Artisan“ tab, and then run the following commands, in this order:
queue:table
migrate
-
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.
Configuring the queue worker process
-
Log in to Plesk, and then locate the domain hosting your application.
-
Click Laravel, and then go to the „Queue“ tab.
-
(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.
-
(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).
Vorsicht: 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).
-
(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.
-
(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 any number of circumstances. Plesk keeps track of failed jobs, which you can restart or dismiss.
Viewing, restarting, and dismissing failed jobs
- Log in to Plesk, and then locate the domain hosting your application.
- Click Laravel, go to the „Queue“ tab, and then click Show failed jobs to see the list of failed jobs.
- (Optional) Select one or more failed jobs, and then click Retry to restart them.
- (Optional) Select one or more failed jobs, and then click Delete to remove them from the list.
- (Optional) Click Flush to remove all failed jobs from the list.
Failed jobs have now been restarted and/or dismissed.