Unlimited Plugins, WordPress themes, videos & courses! Unlimited asset downloads! From $16.50/m
Advertisement
  1. Code
  2. PHP

Erheben Sie Ihr PHP in die Cloud

by
Difficulty:IntermediateLength:LongLanguages:

German (Deutsch) translation by Alex Grigorovich (you can also view the original English article)

Dieser Artikel führt Sie durch das Cloud-Hosting für Ihre PHP-Anwendung mit Pagoda Box. Es wird detailliert beschrieben, wie Sie mit PHP-Abhängigkeiten umgehen, Ihre MySQL-Datenbanken zum Laufen bringen (und lokal debuggen) und verschiedene Aspekte von PHP mühelos anpassen können.


Einführung

Als Entwickler, der seit seinem elften Lebensjahr mit PHP herumspielt, fällt es schwer, sich an viele Dinge zu erinnern, die meine Entwicklung absolut verändert haben. 2007 habe ich CodeIgniter aufgegriffen, wodurch ich überlegte, wie ich meinen Code strukturiere und OOP verwende, um Dinge zu erledigen. Im Jahr 2010 begann ich mit Git und Git Flow für Teamwork und Verzweigung zu arbeiten. In letzter Zeit war die größte Änderung meines Entwicklungsworkflows eine "Platform as a Service" Pagoda Box.

Sie sind vielleicht ein Rockstar-Entwickler, der weiß, wie man einen LAMP-Stack einrichtet, aber wie viel Ihrer potenziellen Entwicklungszeit verschwenden Sie damit, ihn einzurichten, zu optimieren, zu sichern, zu sperren, Ressourcen zu skalieren und den Datenverkehr zu überwachen.

Jeden Tag beobachte ich, wie Entwickler kämpft um seinen Server vor einer Gruppe von Hackern oder Script-Kiddies zu verteidigen, den Port wird voll, und Sie bekommen mehr Probleme, einen zufälligen Sicherheitspatch zum Laufen zu bringen, dazu auch Schwierigkeiten, auf größere, leistungsstärkere Server zu migrieren, und Sie werden wütend, wenn Sie versuchen, Capistrano einzurichten. Services wie Pagoda Box können Ihnen dabei helfen, all das zu überspringen. Also mal sehen wie.


Schritt 1 - Registrieren Sie sich bei Pagoda Box

Der erste Schritt besteht darin, sich ein Konto zu sichern. Es ist kostenlos, also mach weiter.

Register

Schritt 2 - Erstellen Sie Ihre Anwendung

Jede Anwendung muss einen eindeutigen Namen haben, da sie auch für Vorschau-URLs verwendet werden. Sie können diese Anwendung aufrufen, wie Sie möchten, da Sie sie in Kürze hinter einer Domain verstecken, sie jedoch als etwas Offensichtliches und Denkwürdiges bezeichnen.

SSH Key form

Schritt 3 - Git einrichten

Git ist ein äußerst nützliches Versionsverwaltungssystem. Momentan ist es dank Websites wie GitHub, die kostenloses Hosting von sozialem Code ermöglichen, sehr beliebt, aber es eignet sich auch hervorragend für die Bereitstellung Ihres Codes.

Wenn Sie Git noch nicht kennen, probieren Sie den Crashkurs aus.

Wenn Sie es noch nicht getan haben, richten Sie Git ein. Ihre Dokumentation hilft Ihnen beim Einstieg. Windows-Benutzer werden es etwas schwieriger finden als OSX- oder Linux-Benutzer. Wenn Sie also eine virtuelle Maschine von Ubuntu herumliegen haben, ist jetzt ein guter Zeitpunkt, sie zu starten.


Schritt 4 - Erstellen Sie Ihren SSH-Schlüssel

Um Ihren Code an Pagoda Box zu senden, müssen Sie Ihren Computer für den Push-Zugriff auf Anwendungen in Ihrem Konto autorisieren. Erstellen Sie einen SSH-Schlüssel und fügen Sie ihn hier ein.

SSH Key form

Schritt 5 - Setzen Sie Ihren Code ein

Richten Sie zunächst einen Ordner für Ihre Anwendung ein und legen Sie die Git-Fernbedienungen fest. Fernbedienungen sind im Wesentlichen Spitznamen für eine Repository-URL. Durch das Einrichten dieser Fernbedienung lassen wir unser lokales Git-Repo wissen, wie Code an Pagoda Box gesendet wird.

Nachdem alle Konto- und Umgebungseinstellungen vorgenommen wurden, können wir mit der Bereitstellung von Code beginnen. Im Moment werden wir eine einfache Hello World-App bereitstellen:

Dies ist ein kleiner Befehlszeilentrick, um Text in eine Datei einzufügen. Alternativ können Sie diese Datei mit Ihrem bevorzugten Texteditor oder Ihrer bevorzugten IDE erstellen.

Bisher haben wir einen neuen Ordner für unsere Website erstellt, Git initialisiert, eine Fernbedienung hinzugefügt, die Git mitteilt, wo sich die Pagoda Box-App befindet, und eine neue index.php-Datei hinzugefügt, in der einfach Hello World! Nächster:

Hier geschieht die Magie. Sie werden wie jedes andere Repository auf eine Git-Fernbedienung pushen, aber dann sehen Sie, wie die Ausgabe von Pagoda Box übernimmt und eine Bereitstellung erstellt. Dadurch wird jedes Mal eine neue Instanz gestartet und sofort von der Live-Instanz auf diese neue Instanz umgeschaltet. Dies bedeutet sofortige Aktualisierungen - im Gegensatz zu langsamen FTP-basierten Dateibereitstellungssystemen. Im Gegensatz zu einigen ähnlichen Diensten sind alle Ihre temporären Dateien (Cache, Protokolle, Bild-Uploads usw.) nach jeder Größenänderung oder erneuten Bereitstellung vorhanden. Genial!

Wenn Sie nun die Seite Pagoda Box aktualisieren, wird ein Dashboard mit allen möglichen Optionen angezeigt.


Schritt 6 - Erstellen einer Boxdatei

Pagoda Box hat eine spezielle Konfigurationsdatei: Boxfile. Dies befindet sich im Stammverzeichnis Ihrer Anwendung. Ein fortgeschrittenes Beispiel könnte ungefähr so aussehen:

In diesem Beispiel haben Sie die Möglichkeit, beschreibbare Ordner zu erstellen, Ihre index_list (standardmäßig index.php) festzulegen und alle Arten von PHP-Einstellungen zu ändern, die normalerweise in einer php.ini-Datei enthalten sind.

Die wichtigste Zeile hier ist:

Mit Pagoda Box können Sie Ihre Anwendungsabhängigkeiten auflisten. Der "mysqli" -Treiber ist "MySQL Improved", den Sie verwenden sollten, da "mysql" in PHP 5.4 veraltet sein wird. "curl" und "gd" sind ziemlich Standard und "mbstring" hilft Ihnen beim Arbeiten mit UTF-8-Code.

Es ist gut zu wissen, dass sie verfügbar sind - zusammen mit vielen anderen -, aber für dieses Tutorial benötigen wir nur Folgendes:

Machen wir also unser neues Boxfile und speichern es:

Wir werden dies später verwenden.


Schritt 7 - Erstellen Sie eine Datenbank

Zum Zeitpunkt dieses Schreibens unterstützt Pagoda Box nur MySQL-Datenbanken, was in Ordnung ist, da dies die Mehrheit der Entwickler verwendet.

Wir können beliebig viele kleine Datenbankinstanzen kostenlos starten. Wir zahlen erst, wenn sie größer werden, sodass Sie nicht von einer massiven Rechnung überrascht werden, nur für die Erstellung einer Website. Genau wie die Webinstanzen können sie auch skaliert werden, um mit Ihrer Website zu wachsen.

New Database

Um ein neues zu erstellen, klicken Sie auf das Symbol + und geben Sie ihm einen Namen. Oben sehen Sie einen Fortschrittsbalken, während er erstellt wird. dann wird die Seite aktualisiert.


Schritt 8 - Herstellen einer Verbindung über Ihre App

Das Verbinden über PHP ist ein Kinderspiel. Sie erhalten mehrere $_SERVER-Variablen, die Anmeldeinformationen für jede Datenbank enthalten, über die Sie verfügen. Dies bedeutet, dass Sie fest codierte Kennwörter aus Ihrer Anwendung heraushalten können. Dies ist sehr nützlich, wenn Sie nicht möchten, dass alle Entwickler Live-Kennwörter sehen, oder wenn Sie Ihre gesamte Website auf GitHub haben, wie dies einige Leute gerade tun .

Dies ist ein grundlegendes Beispiel für die verwendeten Variablen - Herstellen einer Verbindung zu Ihrer MySQL-Datenbank über die PDO-Erweiterung. Wenn Sie ein Framework wie CodeIgniter verwenden, können Sie diese Variablen in Ihre Konfigurationsdateien database.php verschieben.


Schritt 9 - Remote-Verbindung

Auf einigen Webservern - insbesondere auf den üblichen cPanel-Setups - ist phpMyAdmin installiert und kann so konfiguriert werden, dass Remotezugriff auf die MySQL-Datenbanken möglich ist.

Anstelle dieses Ansatzes verwendet Pagoda Box Ruby Gem unter anderem, um einen temporären sicheren SSH-Tunnel zu erstellen. Dies bedeutet, dass Ihre MySQL-Datenbanken hinter einer Firewall gesperrt sind und nur über diese sichere SSH-Verbindung zugänglich sind.

So installieren Sie den Edelsteinlauf:

Führen Sie dann zum Erstellen des Tunnels einfach Folgendes aus:

Wenn Sie diesen Befehl (oder einen anderen Pagoden-Edelsteinbefehl) zum ersten Mal ausführen, sollten Sie nach einem Benutzernamen und einem Kennwort gefragt werden. Dies ist Ihr Pagoda Box-Benutzername und Ihr Passwort und wird benötigt, damit der Edelstein in Ihrem Namen handeln kann und nichts mit Ihrer Datenbank zu tun hat.

Gehen Sie zu Ihrem Dashboard und klicken Sie auf die Datenbank. Klicken Sie dann auf "Anmeldeinformationen anzeigen", um ein Infofenster wie das folgende anzuzeigen:

Database Credentials

Verwenden Sie diese Anmeldeinformationen, um eine Verbindung herzustellen. Vergessen Sie nicht anzugeben, welcher Port; Es ist in der Ausgabe des Edelsteins oben aufgeführt - nicht in der grünen Box. Denken Sie daran, dass Sie eine Verbindung zum lokalen Tunnel herstellen und nicht direkt zur Datenbank.


Schritt 10 - Erstellen eines Blogs

Was für ein Tutorial wäre das, wenn in 20 Minuten kein Blog erstellt würde?

Für die gesamte Entwicklung sollten Sie die Dinge wirklich lokal mit MAMP, XAMPP, WAMP usw. erstellen und dann Code- und Datenbankänderungen mithilfe einer Art "Migrations" - oder Schemaänderungsverfolgungsmaterial bereitstellen, aber wir werden dies auf die altmodische Weise tun.

Stellen Sie zunächst über den Tunnel eine Remoteverbindung zu Ihrer Datenbank her und führen Sie dann diese Abfrage aus, um eine neue Tabelle zu erstellen:

Mit einigen Testbeiträgen können wir diese index.php erstellen:

Mit dieser gespeicherten Datei und unserer neuen Boxdatei (ab Schritt 6) können wir diese neuen Änderungen bereitstellen:

Gehen Sie zu "http://my-awesome-app.pagodabox.com" und sehen Sie sich die Ausgabe an:

Database Credentials

Dies ist eindeutig nicht etwas, das Sie auf Ihrer Website ausführen möchten, aber es reicht aus. Sie können sehen, dass Ihr Datenbankinhalt an den Browser ausgegeben wird und Ihre Demo-URL funktioniert. Sie können dies durch ein CMS Ihrer Wahl ersetzen oder etwas Benutzerdefiniertes erstellen.


Schritt 11 - Verwenden Sie eine echte Domain

Es macht keinen Sinn, Ihr wundervolles neues Blog auf einer Subdomain von pagodabox.com zu haben. Parken wir also eine Domain darüber.

Fügen Sie zunächst auf der Registerkarte DNS/SSL Ihres Dashboards einige Einträge für Ihre Domain hinzu:

Database Credentials

Nachdem Ihre Anwendung bereit ist, eine Domain zu akzeptieren, sollten Sie sich an denjenigen wenden, der das DNS für Ihre Domain verwaltet. Gehen Sie zum DNS-Verwaltungsbereich und legen Sie einen A-Eintrag für "myawesomedomain.com" auf "50.97.141.37" fest. Dies ist die IP-Adresse, die auf der Benutzeroberfläche Ihrer App aufgeführt ist. Diese IP-Adressen sind nicht pro Anwendung eindeutig, aber nicht immer gleich. Setzen Sie einen CNAME-Eintrag für "www.myawesomedomain.com" auf den Alias "myawesomedomain.com" und Sie sollten fertig sein.


Schlussfolgerung

Dies mag alles anders aussehen als Ihre derzeitige Arbeitsweise, aber denken Sie darüber nach, wie viel Arbeit Sie sich auf lange Sicht sparen. Die Verwendung von PaaS ist der gleiche Grund, warum wir jQuery über natives JavaScript oder PHP-Frameworks über das Schreiben von nativem PHP verwenden. Warum mit kleinen Details herumspielen, wenn Sie sich stattdessen darauf konzentrieren können, eine großartige App zu erstellen?

Andere Alternativen, die Sie in Betracht ziehen könnten, sind PHPFog und Orchestr.io, die beide ähnliche Dienste anbieten. Viel Spaß und vielen Dank fürs Lesen!

Advertisement
Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.