Heim >Backend-Entwicklung >PHP-Tutorial >Einführung in die Konfiguration der Verwendung von Consul zur Verwaltung von Laravel-Projekten
Ich arbeite seit mehr als einem Jahr in der Vorproduktionsumgebung, daher werde ich es hier aufzeichnen und teilen.
Wenn wir mehrere verschiedene Projekte auf mehreren Servern bereitstellen müssen, benötigen wir zentralisierte Konfigurationsinformationsverwaltungs- und Synchronisierungstools. Die in Betracht gezogenen Lösungen sind:
Dateien mit rsync synchronisieren.env
: Die Konfiguration mehrerer Projekte ist etwas umständlich und erfordert SSH zum Server, um sie zu ändern und dann zu synchronisieren
Verwenden Sie Docker: Die Clusterbereitstellung ist bequemer. Sie können die grafische Oberfläche zum Ändern von Umgebungsvariablen verwenden, aber das Aktualisieren von Umgebungsvariablen erfordert einen Neustart des Containers. Die meisten Projekte wurden nicht auf Docker migriert
consul agent -server -bootstrap -ui -bind <ip>Andere Serviceknoten können dem Cluster über
beitreten. consul agent -join <ip></ip>
# put 设置一个KV对 consul kv put APP_DEBUG false # get 获取 consul kv get APP_DEBUG # exprot 导出JSON consul kv export > data.json # import 导入JSON consul kv import @data.json # delete 删除 consul kv delete APP_DEBUGConsul KV unterstützt Verzeichnis, can Dies kann durch die Trennung der Schlüssel durch
erreicht werden. Beispielsweise verwenden wir ein Verzeichnis wie /
, um alle Konfigurationen eines Projekts zu speichern. configs/<app_name>/</app_name>
zu schreiben. .env
): .env.tpl
{{ range ls "configs/crm" }} {{ .Key }}={{ .Value }}{{ end }}bedeutet, das
KV-Verzeichnis zu durchlaufen und das config/crm
-Format zu generieren. key=value
## 格式: 模板文件:目标文件:更新后执行的命令 consul-template --template \ /path/to/.env.tpl:/path/to/.env:'php /path/to/artisan config:cache', um die .env-Datei zu generieren und Änderungen kontinuierlich zu überwachen. Eine consul-template-Instanz kann mehrere --template-Parameter haben, die für mehrere Parameter auf einem Server verwendet werden können . Konfigurationsdateien für jedes Projekt generieren. Das Obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, er wird für das Studium aller hilfreich sein. Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website. Verwandte Empfehlungen:
Interpretation des Laravel Service Containers (IocContainer)
Laravel-Benutzerauthentifizierungssystem (Grundlegende Einführung)
Das Laravel WeChat-Applet erhält Benutzerdetails und eine Analyse der Applet-Code-Erweiterung mit Parametern
Das obige ist der detaillierte Inhalt vonEinführung in die Konfiguration der Verwendung von Consul zur Verwaltung von Laravel-Projekten. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!