Heim  >  Artikel  >  Backend-Entwicklung  >  Verwenden Sie Deployer für die elastische Bereitstellung von PHP-Anwendungen

Verwenden Sie Deployer für die elastische Bereitstellung von PHP-Anwendungen

PHPz
PHPzOriginal
2023-07-13 10:42:07775Durchsuche

Verwenden Sie Deployer für die elastische Bereitstellung von PHP-Anwendungen

Einführung:
Im heutigen Cloud-nativen Zeitalter ist die elastische Bereitstellung eine sehr wichtige Technologie. Es ermöglicht uns, Ressourcen je nach Bedarf dynamisch anzupassen und so die Stabilität und Zuverlässigkeit der Anwendung sicherzustellen. Für die flexible Bereitstellung von PHP-Anwendungen ist Deployer ein leistungsstarkes und flexibles Tool. In diesem Artikel erfahren Sie, wie Sie mit Deployer eine elastische Bereitstellung von PHP-Anwendungen erreichen.

1. Einführung in Deployer
Deployer ist ein in reinem PHP geschriebenes Befehlszeilentool, das zum automatischen Bereitstellen von PHP-Anwendungen verwendet wird. Es kann uns dabei helfen, Anwendungen einfach in verschiedenen Umgebungen bereitzustellen und bietet eine Fülle von Plug-Ins zur Erweiterung seiner Funktionalität.

2. Deployer installieren
Bevor Sie Deployer verwenden, müssen Sie ihn zunächst in Ihrer Entwicklungsumgebung installieren. Sie können Composer verwenden, um Deployer zu installieren. Öffnen Sie das Terminal und führen Sie den folgenden Befehl aus:

composer global require deployer/deployer

3. Deployer konfigurieren
Nach Abschluss der Installation müssen wir Deployer konfigurieren, um eine Verbindung zum Zielserver herzustellen und Bereitstellungsaufgaben auszuführen. Erstellen Sie eine deploy.php-Datei in Ihrem Projektstammverzeichnis und kopieren Sie den folgenden Code in die Datei: deploy.php文件,并将以下代码复制到文件中:

require 'recipe/common.php';

// 服务器连接配置
server('production', 'your_server_ip')
    ->user('your_username')
    ->port(22)
    ->identityFile('~/.ssh/id_rsa')
    ->stage('production')
    ->env('deploy_path', '/var/www/html');

// 项目仓库配置
set('repository', 'your_repository');

// 代码分支配置
set('branch', 'master');

// 需要部署的文件/目录
set('shared_files', ['.env']);
set('shared_dirs', ['storage']);

// 执行部署任务
task('deploy', [
    'deploy:prepare',
    'deploy:lock',
    'deploy:release',
    'deploy:update_code',
    'deploy:shared',
    'deploy:writable',
    'deploy:symlink',
    'deploy:unlock',
    'cleanup',
])->desc('Deploy the PHP application');

// 部署失败时回滚任务
task('deploy:failed', function () {
    run('cd {{release_path}} && ./artisan migrate:rollback --force');
});

// 部署后执行清理任务
after('deploy', 'deploy:cleanup');

请根据您的服务器配置做出相应的修改,以及设置您的代码仓库和分支。

四、编写部署任务
Deployer允许我们编写自定义任务,并在部署过程中执行。在deploy.php

task('php-fpm:restart', function () {
    run('sudo service php7.4-fpm restart');
})->desc('Restart PHP-FPM');

after('deploy', 'php-fpm:restart');

Bitte nehmen Sie die entsprechenden Änderungen basierend auf Ihrer Serverkonfiguration vor und richten Sie Ihre Code-Warehouses und Niederlassungen ein.

4. Bereitstellungsaufgaben schreiben

Deployer ermöglicht es uns, benutzerdefinierte Aufgaben zu schreiben und diese während des Bereitstellungsprozesses auszuführen. Am Ende der Datei deploy.php können Sie Ihre eigenen Aufgaben hinzufügen. Hier ist zum Beispiel eine einfache Aufgabe, um PHP-FPM nach der Bereitstellung neu zu starten:

dep deploy production

Sie können entsprechend Ihren tatsächlichen Anforderungen weitere Aufgaben hinzufügen.

5. Bereitstellung ausführen

Nach Abschluss der Konfiguration und des Aufgabenschreibens können wir den Bereitstellungsbefehl ausführen, um unsere PHP-Anwendung bereitzustellen. Gehen Sie im Terminal zu Ihrem Projektstammverzeichnis und führen Sie den folgenden Befehl aus:
rrreee

Deployer stellt eine Verbindung zum Zielserver her und führt den Bereitstellungsprozess entsprechend Ihrer Konfiguration und Aufgaben durch. Sie können die detaillierte Ausgabe des Bereitstellungsprozesses im Terminal sehen.

6. Fazit
    Der Einsatz von Deployer für die flexible Bereitstellung von PHP-Anwendungen kann uns dabei helfen, Anwendungen schnell und einfach bereitzustellen und zu verwalten. Durch das Konfigurieren und Schreiben benutzerdefinierter Aufgaben können wir uns an unterschiedliche Umgebungen und Anforderungen anpassen und so die Flexibilität und Stabilität der Anwendung gewährleisten. Ich hoffe, dieser Artikel hilft Ihnen, die Konzepte und Tools der resilienten Bereitstellung besser zu verstehen und anzuwenden.
  • Referenzen:
Offizielle Dokumentation von Deployer: https://deployer.org/

Deployer GitHub-Repository: https://github.com/deployphp/deployer🎜🎜🎜Das Obige ist die Flexibilität der Verwendung von Deployer für PHP-Anwendungen Einführung und Einsatzbeispiele. Hoffe das hilft! 🎜

Das obige ist der detaillierte Inhalt vonVerwenden Sie Deployer für die elastische Bereitstellung von PHP-Anwendungen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn