Kernpunkte
- Die Kombination von Laravel und Git ermöglicht eine effiziente Website -Bereitstellung, GIT -Verwaltungsdateiänderungen und Laravel automatisiert sich wiederholende Aufgaben und ermöglicht einen vereinfachten und kontrollierbaren Bereitstellungsprozess.
- Der Bereitstellungsprozess umfasst: Einrichten eines zentralen Repositorys, Klonen des Repositorys, um lokale und Online -Websites zu erstellen und Laravel zu installieren. Verwenden Sie dann Git, um Dateienänderungen zu verfolgen und diese Änderungen auf das zentrale Repository auf dem Produktionsserver zu verschieben.
- Laravel kann den Bereitstellungsprozess automatisieren, indem Routen erstellen, die Controller erstellen, Controller erstellen und die GIT -Bereitstellungsworkflows mithilfe der SSH -Fassade von Laravel wiederholen. Greifen Sie einfach auf spezifische URLs zu, um sie problemlos bereitzustellen.
- Um die Sicherheit der Bereitstellung zu gewährleisten, verhindern Sie unbefugten Zugriff auf die Bereitstellungsseite. Dies kann durch Verwendung von
.gitignore
zur Ignorierung bestimmter Dateien erfolgen und prüfen, ob sie vor dem Ausführen der Bereitstellungsroute vorhanden sind. Andere Methoden umfassen Kennwortschutz oder IP -Adressbeschränkung.
Eine erfolgreiche Webentwicklung ist untrennbar mit effektiven Workflows für Website -Bereitstellungen verbunden. Unabhängig davon, ob Ihr Workflow gut oder schlecht ist oder nicht, wenn die Website nicht verfügbar ist, können Kunden nicht für die Früchte Ihrer harten Arbeit bezahlen.
Es gibt viele Möglichkeiten, eine Website auf einem Produktionsserver bereitzustellen, jeweils ihre Vor- und Nachteile, aber die Start- und Endmethoden sind gleich. Der Schlüssel zu einem guten Workflow für Website -Bereitstellungen sind die Zwischenschritte.
Neulich habe ich FileZilla verwendet, um Dateien auf meinen Produktionsserver hochzuladen. Ich hatte immer das Gefühl, dass die Benutzeroberfläche von Filezilla nicht sehr freundlich war, aber lange Zeit dachte ich, es sei eine Standardpraxis.
Für dasselbe Projekt verwende ich auch Git, um Dateiänderungen zu verfolgen. Als ich anfing, git push origin
zu tippen, machte ich eine Pause und dachte einen Moment nach. Wenn die Website -Bereitstellung so einfach ist, wie ein Git -Repository zu pushen, wäre es nicht viel bequemer?
Denken Sie sorgfältig darüber nach, Git ist das perfekte Tool für die Bearbeitung von Website -Bereitstellungsdateien. Es verfolgt alle Dateiänderungen und drückt oder zieht das, was Sie wollen, mit nur einem Befehl. Ich habe mich entschlossen, Google nach einer Möglichkeit zu suchen, Git bei der Bereitstellung meiner eigenen Website zu verwenden.
Eine beliebte Möglichkeit, Websites mit Git bereitzustellen, besteht darin, die Git -Haken optimal zu nutzen (Tom Oram verwendet gerne ähnliche Methoden). Stellen Sie sich vor, Git -Hooks starten ein vordefiniertes Skript, indem Sie git push origin
in die Terminalkonsole eingeben. Dieses vordefinierte Skript greift auf Ihren Produktionsserver zu und führt die neuesten Änderungen der Datei. Sie können Ihre Website auch über die gleichen Befehle wie Push -Änderungen aktualisieren. Ich fand, dass dieser Ansatz großartig war, bis mir klar wurde, dass ich, nur weil ich das örtliche Repository vorangetrieben habe, nicht bedeutete, dass ich bereit war, live zu gehen.
Ich möchte eine Möglichkeit, ein Repository so einfach wie Git zu schieben. Noch wichtiger ist, dass ich die volle Kontrolle haben möchte, wenn ich den Inhalt online bringt. Ich fand einen ähnlichen Workflow, der Dateitransfers mit Git übernimmt. Am wichtigsten ist auch, dass es auch möglich ist, das PHP -Framework Laravel zu verwenden, um sich wiederholtere Aufgaben zu automatisieren.
Folgendes ist meine Website -Bereitstellung Workflow:
Struktureinstellungen
In diesem Abschnitt werden wir ein Bart -Repository als unser zentrales Repository einrichten und zwei Repositories durch Klonen erstellen. Eine ist unsere lokale Website, auf der wir den Bereitstellungsprozess durchführen. Wir werden auch Laravel installieren.
Bevor Sie beginnen, benötigen Sie einen lokalen Server- und Produktionsserver mit installiertem Git.
nützliche Ressourcen:
- Installieren von Homestead_improved
- GIT und Bewertung installieren
1.
ssh eine Verbindung zu Ihrem Produktionsserver herstellen und das Verzeichnis finden, in dem sich das zentrale Repository befindet.
<code>ssh username@domain.com cd repos</code>Initialisieren Sie jetzt Ihr Repository.
<code>git init --bare --shared mywebsite.git</code>
Dieser Ordner wird normalerweise empfohlen, ihn außerhalb der öffentlichen Ordnerstruktur zu platzieren. Auf diese Weise stolpern andere nicht versehentlich auf Ihr privates Repository.2.
Bestimmen Sie, wo die Website -Dateien auf Ihrem
gehostet werden sollen.
public_html
<code>cd ~/public_html/</code>
3.
<code>git clone username@domain.com:~/repos/mywebsite.git mywebsite exit</code>Wenn Sie so etwas wie Homestead verwenden, müssen Sie möglicherweise den Befehl Vagrant an SSH verwenden, um eine Verbindung zu Ihrem lokalen Server herzustellen, um auf Ihre Dateien zuzugreifen.
Befolgen Sie die Schritte, die Sie gerade eine Online -Website erstellt haben.
<code>vagrant ssh</code>
4
Bevor Sie Laravel einrichten, müssen Sie es auf Ihrer lokalen Website installieren.<code>cd websites git clone username@domain.com:~/repos/mywebsite.git mywebsite</code>
nützliche Ressourcen:
Installation Laravel
- Fügen Sie Ihre Remote -Server -Einstellungen in die Konfigurationsdatei hinzu, indem Sie
- öffnen.
/app/config/remote.php
Denken Sie an den Schlüssel "Produktion", da wir sie später verweisen müssen.
<code>'connections' => array( 'production' => array( 'host' => 'domain.com', 'username' => 'username', 'password' => '********************', 'key' => '', 'keyphrase' => '', 'root' => '/var/www', ), ),</code>
Fügen Sie Ihre Dateien Ihrem lokalen Website -Repository hinzu, damit wir alle Änderungen an ihnen verfolgen können.Führen Sie Ihr anfängliches Commit aus.
<code>git add .</code>Schieben Sie schließlich auf das zentrale Repository auf dem Produktionsserver.
<code>git commit -m 'initial commit with laravel'</code>
<code>git push origin master</code>Wenn Sie auf Ihren Localhost zugreifen, sollten Sie Laravels "Sie sind angekommen" sehen.
Gute Arbeit! Sie haben alle eingerichtet und konfiguriert, und jetzt sollten Sie bereit sein, sich in interessante Inhalte zu befassen.
CORE -Workflow mit Git
Nachdem alles eingerichtet ist, ist es einfach, Ihre Website über Git bereitzustellen. Schauen wir uns den Code an und versuchen, den Kerninhalt zu verstehen.
Es ist wichtig, den Workflow zu verstehen, da wir ihn später in PHP mit Laravel umschreiben werden. Es hilft uns auch, alle Probleme zu debuggen, die auftreten können.
1.
<code>ssh username@domain.com cd repos</code>
2.
<code>git init --bare --shared mywebsite.git</code>
Wenn Sie alle bisher korrekt waren, sollten Sie Laravels "Sie sind angekommen" sehen, wenn Sie Ihre Online -Site besuchen.
Wenn Sie hier anhalten möchten, habe ich keine Meinungen zu Ihnen. Dies ist ein ziemlich zuverlässiger Bereitstellungs -Workflow für sich. Aber wir können es effizienter machen, indem wir es mit Laravel automatisieren.
Automatische Bereitstellung mit Laravel
Ok, jetzt, da wir wissen, wie Sie eine Website mit Git bereitstellen, verwenden wir Laravel, um diesen Prozess zu automatisieren. Dieser Teil ist möglicherweise nicht erforderlich, aber wenn Sie Laravel bereits verwenden, würde ich fragen: „Warum nicht?“ Mit Laravel hier einfach, steuerbar, kontrollierbar und anpassbar.
1.
Öffnen Sie die Seite /app
im Ordner routes.php
und fügen Sie der Datei die folgende PHP -Codezeile hinzu.
<code>cd ~/public_html/</code>
Wenn wir auf http://localhost/deploy
zugreifen, wird die gemeinsame Funktion des Server
Controllers ausgeführt. deploy
Beginnen Sie mit einer leeren
-Klasse, die BaseController
erweitert. Server
<code>git clone username@domain.com:~/repos/mywebsite.git mywebsite exit</code>Fügen Sie nun die gemeinsame Funktion
in den Controller ein. deploy
<code>vagrant ssh</code>Speichern Sie es in Ihrem
Ordner und nennen Sie es /app/controllers
. Server.php
3.
deploy
SSH -Fassade einfügen. Wir möchten auf die zuvor eingerichtete Produktions -Remote -Konfiguration zugreifen.
Jetzt akzeptiert die Funktion
<code>cd websites git clone username@domain.com:~/repos/mywebsite.git mywebsite</code>zwei Parameter, die wir bereitstellen müssen. Der erste und wichtigste Parameter ist das Array der Terminalbefehle, die wir bei der Ausführung der
-Funktion ausführen möchten. run()
deploy
<code>'connections' => array( 'production' => array( 'host' => 'domain.com', 'username' => 'username', 'password' => '********************', 'key' => '', 'keyphrase' => '', 'root' => '/var/www', ), ),</code>
Nun, wenn wir unsere Website bereitstellen möchten, müssen wir nur
<code>git add .</code>besuchen. Einfach genug? Ja, nicht genau.
http://localhost/deploy
Wir müssen uns mit einigen Sicherheitslücken umgehen, bevor wir es am Ende nennen. Jeder kann auf
Es gibt viele Möglichkeiten, dies zu tun, und wir können argumentieren, welche Methode am sichersten ist, bis wir erschöpft sind. Sie können das Kennwort der Route schützen, den Zugriff über eine IP -Adresse blockieren und so weiter.
In diesem Beispiel werden wir .gitignore
verwenden und überprüfen, ob die Datei vorliegt, und dann die gerade erstellte Route ausführen.
4. controllers
.gitignore
Erstellen Sie eine neue Datei und speichern Sie sie in Server.php
und nennen Sie sie
.
/app/controllers
Fügen Sie der Datei die folgende Textzeile hinzu und speichern Sie sie. .gitignore
5.
<code>ssh username@domain.com cd repos</code>Erinnern Sie sich an die Route, die wir zuvor erstellt haben, um unsere Website bereitzustellen? Wir müssen es mit dieser bedingten Aussage einwickeln, und dann können wir online gehen.
Server.php
Wenn es fertig ist, sollte es so aussehen.
<code>git init --bare --shared mywebsite.git</code>
Kreativ
<code>cd ~/public_html/</code>
Das ist es! Speichern Sie einfach alle aktualisierten Dateien, Commits und Pushes und Sie können mit der Bereitstellung mit git-freundlichen Workflows beginnen.
Sie können weiter gehen, wenn Sie möchten. Fügen Sie Ihrem Lesezeichen einfach
hinzu, um eine schnelle Ein-Klick-Bereitstellung zu erhalten. Sie können sogar ein einfaches HTML -Formular erstellen, das auf der Seite veröffentlichen kann, sodass Sie bestimmte Zweige ziehen können. Die Möglichkeiten sind endlos.
http://localhost/deploy
Bitte teilen Sie mir die kreativen Methoden mit, mit denen Sie die Website -Bereitstellung vereinfachen!
FAQs (FAQs) für die Bereitstellung von Websites mit Laravel und Git
Wie kann man Konflikte bei der Bereitstellung einer Laravel -Website mit Git lösen? Zusammenstöße können beim Bereitstellen von Laravel -Websites mit Git auftreten, insbesondere wenn mehrere Entwickler an demselben Projekt arbeiten. Um diese Konflikte zu lösen, müssen Sie das Git -Tool von Konfliktlösung verwenden. Wenn Konflikte auftreten, pausieren Git die Änderungsbasis und gibt Ihnen die Möglichkeit, den Konflikt zu beheben. Sie können dann
verwenden, um die behobenen Dateien hinzuzufügen undzu verwenden, um weiter zu rebkasen. Bevor Sie mit der Arbeit beginnen, stellen Sie sicher, dass Sie immer die neuesten Änderungen aus dem Repository ziehen, um Konflikte zu minimieren.
Wie kann ich Git Branch in meinem Laravel -Projekt effektiv verwenden? git add
git rebase --continue
Git Branch ist ein leistungsstarkes Tool zum Verwalten verschiedener Versionen von Laravel -Projekten. Sie können eine neue Filiale für jede Funktion oder jede Fehlerbehebung erstellen, mit der Sie mehrere Aufgaben gleichzeitig erledigen können, ohne die Hauptcode -Basis zu beeinflussen. Nachdem die Aufgabe abgeschlossen ist, können Sie die Zweige zur Hauptcodebasis zurückführen. Diese Methode stellt sicher, dass die Hauptcodebasis stabil und fehlerfrei bleibt.
Wie kann ich Git verwenden, um den Bereitstellungsprozess meiner Laravel -Website zu automatisieren?
automatisierter Bereitstellungsprozess kann viel Zeit und Mühe sparen. Sie können Git -Hooks verwenden, bei denen es sich um Skripte handelt, die Git vor oder nach Ereignissen wie Commit, Push und Empfangen ausführt. Sie können ein Skript schreiben, das Ihre Website automatisch bereitstellt, wenn Sie in die Hauptzweide drücken. Auf diese Weise können Sie sicherstellen, dass Ihre Website immer mit den neuesten Änderungen übereinstimmt.
Wie kann man Git verwenden, um Änderungen in Laravel -Projekten zurückzugewinnen?
Git bietet verschiedene Möglichkeiten, Änderungen zurückzusetzen. Sie können git revert
verwenden, um ein neues Commit zu erstellen, um die in einem bestimmten Commit vorgenommenen Änderungen rückgängig zu machen. Alternativ können Sie git reset
verwenden, um den Kopfzeiger auf das vorherige Commit zu verschieben, und "Vergessen" des danach erscheinten Commits zu verschieben. Seien Sie vorsichtig, wenn Sie git reset
verwenden, da dies Ihre Änderungen dauerhaft löschen kann.
Wie kann ich Ihr Laravel -Projekt beim Einsatz mit Git sicher halten?
Sicherheit ist ein wichtiger Aspekt eines Webentwicklungsprojekts. Fügen Sie bei der Bereitstellung von Laravel -Projekten mit Git Ihren .env
-Dateien sensible Dateien (z. B. .gitignore
) hinzu, um zu verhindern, dass sie dem Repository verpflichtet werden. Zusätzlich werden sichere Protokolle wie SSH oder HTTPS beim Drücken und Ziehen aus dem Repository verwendet.
Wie kann ich Git verwenden, um Datenbankmigrationen in Laravel -Projekten zu verwalten?
Das Migrationssystem von Laravel ist ein leistungsstarkes Tool zum Verwalten von Datenbankschemata. Beim Bereitstellen eines Projekts können Sie php artisan migrate
verwenden, um ausstehende Migrationen anzuwenden. Seien Sie jedoch vorsichtig, wenn Sie mit mehreren Entwicklern arbeiten, da widersprüchliche Migrationen Probleme verursachen können. Ziehen Sie immer die neuesten Änderungen aus dem Repository an, um Konflikte zu vermeiden, bevor eine neue Migration erstellt wird.
Wie kann ich mit Git mit anderen Entwicklern in meinem Laravel -Projekt zusammenarbeiten?
Git ist ein leistungsstarkes Tool für die Zusammenarbeit. Sie können Filialen verwenden, um verschiedene Funktionen gleichzeitig zu verarbeiten und Pull -Anfragen zu verwenden, um Änderungen in die Hauptcode -Basis zu überprüfen und zusammenzuführen. Darüber hinaus kann das GIT -Tool von GIT Ihnen dabei helfen, alle Konflikte zu lösen, die auftreten, wenn Sie Änderungen zusammenführen.
Wie kann man Git verwenden, um Änderungen in Laravel -Projekten zu verfolgen?
Git bietet eine vollständige Geschichte aller Änderungen im Projekt. Sie können den Commit -Verlauf mit git log
ansehen und git diff
verwenden, um Änderungen in einem bestimmten Commit anzuzeigen. Dies ist sehr nützlich, um die Entwicklung des Projekts zu debugieren und zu verstehen.
So optimieren Sie die Leistung einer Laravel -Website beim Bereitstellen mit Git?
Leistungsoptimierung ist ein Schlüsselaspekt der Webentwicklung. Bei der Bereitstellung von Laravel-Websites mit Git können Sie die integrierte Caching von Laravel verwenden, um die Leistung zu verbessern. Erwägen Sie auch, CDN zu verwenden, um statische Ressourcen bereitzustellen und Ihre Bilder und andere Ressourcen zu optimieren, um die Ladezeit zu verkürzen.
Wie kann man Git verwenden, um Fehler und Ausnahmen in Laravel -Projekten zu behandeln?
Die korrekte Handhabung von Fehlern und Ausnahmen ist für eine reibungslose Benutzererfahrung von wesentlicher Bedeutung. Laravel bietet ein leistungsstarkes Ausnahmebereitschaftssystem, mit dem Sie verschiedene Arten von Fehlern behandeln können. Wenn ein Fehler auftritt, können Sie Git verwenden, um zum vorherigen stabilen Zustand zurückzukehren, während Sie den Fehler beheben.
Das obige ist der detaillierte Inhalt vonStellen Sie Ihre Website mit Laravel und Git ein. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Lastausgleich beeinflusst das Sitzungsmanagement, kann jedoch durch Sitzungsreplikation, Sitzungsklebrigkeit und zentraler Sitzungsspeicher gelöst werden. 1. Sitzungsreplikationsdaten zwischen Servern. 2. Session Stickiness lenkt Benutzeranfragen auf denselben Server. 3. Zentraler Sitzungsspeicher verwendet unabhängige Server wie Redis, um Sitzungsdaten zu speichern, um die Datenfreigabe zu gewährleisten.

SessionLockingIsatechniqueUTToensureUsers'SSessionSessionSeSexclusivetooneuseratatim.itiscrialtforpreventingDatacorruptionandSecurityBreachesinmulti-UserApplications

Zu den Alternativen zu PHP-Sitzungen gehören Cookies, Token-basierte Authentifizierung, datenbankbasierte Sitzungen und Redis/Memcached. 1. Kookies verwalten Sitzungen, indem sie Daten über den Kunden speichern, was einfach, aber nur gering ist. 2. Altbasierte Authentifizierung verwendet Token, um Benutzer zu überprüfen, was sehr sicher ist, aber zusätzliche Logik erfordert. 3.Database-basiertssesses speichert Daten in der Datenbank, was eine gute Skalierbarkeit aufweist, die Leistung jedoch beeinflusst. V.

Sessionhijacking bezieht sich auf einen Angreifer, der sich als Benutzer ausgibt, indem die SessionID des Benutzers angezeigt wird. Zu den Präventionsmethoden gehören: 1) Verschlüsseln der Kommunikation mit HTTPS; 2) Überprüfung der Quelle der SessionID; 3) mit einem sicheren Algorithmus zur Sitzung der Sitzung; 4) regelmäßig aktualisieren die SitzungID.

In dem Artikel werden PHP erörtert, in dem die vollständige Form, Hauptnutzungen in der Webentwicklung, der Vergleich mit Python und Java und seine Lernen des Lernens für Anfänger beschrieben werden.

PHP behandelt Formdaten mit $ \ _ post und $ \ _ GET Superglobals, wobei die Sicherheit durch Validierung, Bereinigung und sichere Datenbankinteraktionen gewährleistet ist.

Der Artikel vergleicht PHP und ASP.NET und konzentriert sich auf ihre Eignung für groß angelegte Webanwendungen, Leistungsunterschiede und Sicherheitsfunktionen. Beide sind für große Projekte lebensfähig, aber PHP ist Open-Source und plattformunabhängig, während ASP.NET,

Die Fallempfindlichkeit von PHP variiert: Funktionen sind unempfindlich, während Variablen und Klassen empfindlich sind. Zu den Best Practices gehören eine konsistente Benennung und Verwendung von Fall-unempfindlichen Funktionen für Vergleiche.


Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

VSCode Windows 64-Bit-Download
Ein kostenloser und leistungsstarker IDE-Editor von Microsoft

SublimeText3 Englische Version
Empfohlen: Win-Version, unterstützt Code-Eingabeaufforderungen!

DVWA
Damn Vulnerable Web App (DVWA) ist eine PHP/MySQL-Webanwendung, die sehr anfällig ist. Seine Hauptziele bestehen darin, Sicherheitsexperten dabei zu helfen, ihre Fähigkeiten und Tools in einem rechtlichen Umfeld zu testen, Webentwicklern dabei zu helfen, den Prozess der Sicherung von Webanwendungen besser zu verstehen, und Lehrern/Schülern dabei zu helfen, in einer Unterrichtsumgebung Webanwendungen zu lehren/lernen Sicherheit. Das Ziel von DVWA besteht darin, einige der häufigsten Web-Schwachstellen über eine einfache und unkomplizierte Benutzeroberfläche mit unterschiedlichen Schwierigkeitsgraden zu üben. Bitte beachten Sie, dass diese Software

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

SecLists
SecLists ist der ultimative Begleiter für Sicherheitstester. Dabei handelt es sich um eine Sammlung verschiedener Arten von Listen, die häufig bei Sicherheitsbewertungen verwendet werden, an einem Ort. SecLists trägt dazu bei, Sicherheitstests effizienter und produktiver zu gestalten, indem es bequem alle Listen bereitstellt, die ein Sicherheitstester benötigen könnte. Zu den Listentypen gehören Benutzernamen, Passwörter, URLs, Fuzzing-Payloads, Muster für vertrauliche Daten, Web-Shells und mehr. Der Tester kann dieses Repository einfach auf einen neuen Testcomputer übertragen und hat dann Zugriff auf alle Arten von Listen, die er benötigt.
