


Die ultimative Anleitung zum Bereitstellen von PHP -Apps in der Cloud
Feb 12, 2025 am 09:08 AM
Inhaltsverzeichnis
- Einführung in Cloud -Server
- Heroku
- Eine kleine Ver?nderung vornehmen
- Datenbank, Caching & Cron Jobs
- Google Cloud
- Datenbank, Caching & Cron Jobs
- IBM Bluemix
- Datenbank, Caching & Cron Jobs
- Microsoft Azure
- Datenbank, Caching & Cron Jobs
- Amazon Web Services
- Datenbank-, Caching- und Cron -Jobs
- Laravel Forge
- Gesandter
- Einsatz
- Abschluss
- Kommentare
Dieser Beitrag wurde erstmals im Auth0 -Blog ver?ffentlicht und hier vollst?ndig mit seiner Erlaubnis erneut ver?ffentlicht.
tl; dr: Es gibt ein beliebtes Mantra unter Entwicklern, das wie dieses schreibt, testet und bereitstellt . In diesem Tutorial zeige ich Ihnen, wie Sie Ihre PHP -Apps auf verschiedenen Cloud -Server -Plattformen wie Google Cloud, Microsoft Azure, Heroku, IBM Bluemix und anderen bereitstellen.
.Key Takeaways
- Die Bereitstellung von PHP-Apps in der Cloud bietet Skalierbarkeit, Kosteneffizienz, verbesserte Leistung und bessere Zuverl?ssigkeit, was es zu einer vorteilhaften Option für Unternehmen aller Gr??en macht.
- Plattformen wie Heroku, Google Cloud, IBM Bluemix, Microsoft Azure und Amazon Web Services bieten verschiedene Umgebungen für das Hosting von PHP -Anwendungen, die jeweils spezifische Funktionen mit unterschiedlichen Entwicklungsanforderungen richten.
- Wesentliche Schritte für die Bereitstellung auf Heroku umfassen das Einrichten eines Heroku -Kontos, das Erstellen einer .env -Datei, das Konfigurieren von Auth0 -Einstellungen und die Verwendung eines Procfile, um Prozesstypen für das Start der App zu deklarieren.
- Google Cloud bietet eine flexible Umgebung für PHP-Apps, die die Verwendung verschiedener PHP-Erweiterungen und Bereitstellungsskripte erm?glicht, die über das GCLOUD-Befehlszeilen-Tool verwaltet werden k?nnen.
- IBM Bluemix verwendet Cloud -Foundry für die App -Bereitstellung, wodurch eine einfache Konfiguration, Skalierung und Verwaltung von Apps mit Funktionen wie automatischer Buildpack -Erkennung und Umgebungsvariablenverwaltung über die Bluemix -UI.
- Microsoft Azure und Amazon Web Services bieten umfassende Tools für die Bereitstellung, Datenbankintegration, Caching und Ausführung von Cron -Jobs, unterstützt umfangreiche Anpassungen und Skalierbarkeit für PHP -Anwendungen.
Einführung in Cloud -Server
Cloud -Server sind im Grunde genommen virtuelle Server, die in einer Cloud -Computing -Umgebung ausgeführt werden. Das Hosting und Bereitstellen Ihrer Anwendungen in der Cloud bietet verschiedene Vorteile. Sie sind:
- wirtschaftlich effizient.
- Sie haben die Freiheit, die Serversoftware an Ihre Anforderungen zu ?ndern.
- Cloud -Server skalieren sehr gut.
- Stabilit?t und Sicherheit.
Tats?chlich haben viele Unternehmen ihre Infrastruktur in die Cloud verlegt, um Kosten und Komplexit?t zu senken. Es ist eine gro?artige Option für kleine, mittelst?ndische und Enterprise Scale-Unternehmen. Wenn Sie viele Tutorials schreiben und POCs (Proof-of-Concepts) wie ich machen, ist dies auch eine gute Wahl für Sie!
Eine generische PHP -Anwendung beinhaltet die gemeinsame -Lampe (Linux, Apache, MySQL und PHP) Stack.
- Linux: Das Betriebssystem, das die anderen Softwarepakete ausführt.
- Apache: Der Webserver, der den PHP -Code ausführt. Eine beliebte alternative Software ist nginx .
- MySQL: Die Datenbank. Eine beliebte alternative Software ist PostgreSQL.
- PHP: Die serverseitige Sprache zum Erstellen der Anwendung.
Für einen Crashkurs auf Lampe / MAMP / WAMP siehe diese Premium -Ressource.
Lassen Sie uns nun abdecken, wie PHP -Anwendungen auf mehreren Cloud -Server -Plattformen bereitgestellt werden.
Heroku
Heroku ist eine Cloud -Plattform, mit der Sie Ihre Anwendungen auf die moderne Weise bereitstellen und hosten. Es macht all das schwere Leben für Sie. Schauen wir uns schnell an, wie Sie eine PHP -Anwendung auf Heroku bereitstellen und verwalten k?nnen.
Php Heroku Architektur
Wenn Sie kein Konto haben, erstellen Sie eines auf Heroku.com. Dann mach weiter und installiere die Heroku Cli. Sobald Sie diese installiert haben, klonen Sie diese einfache Starwars -PHP -Anwendung.
Heroku führt Ihre PHP -App in einem Dyno aus, einem intelligenten Container, der einen modernen Stapel mit Ihrer Auswahl des Webservers (Apache oder Nginx) und Laufzeit (PHP oder HHVM) bietet.
Stellen Sie sicher, dass Sie folgende Schritte folgen:
- Erstellen Sie eine .env -Datei aus .Env.Example.
- Sie müssen ein Konto bei Auth0 haben.
- Gehen Sie zu Ihrem Auth0 -Dashboard und klicken Sie auf die Schaltfl?che "Ein neuer Client erstellen".
- Nennen Sie Ihre neue App und w?hlen Sie "regul?re Webanwendungen".
- Fügen Sie in den Einstellungen für Ihre neue Auth0 -Client -App http: // localhost: 8000 zu den zul?ssigen Callback -URLs hinzu.
- kopieren Sie Ihre Client -ID , Client Secret , Domain und Callback -URL . Stellen Sie sicher, dass Sie sie den richtigen Variablen in Ihrer .env -Datei zuweisen.
Wir haben eine Composer.json -Datei, die die Liste der Pakete enth?lt, die die Anwendung ben?tigt. Führen Sie die Komponist auf Ihrem lokalen Computer aus, um diese Pakete zu installieren. Nicht mit Komponisten vertraut? Dieses Video k?nnte helfen.
Gehen Sie die App aus. Die App sollte wie SO ausgeführt werden:
Landing Page
im Benutzer angemeldet
Super! Unsere App funktioniert lokal. Zeit zum Bereitstellen! Das erste, was wir tun werden, ist, dem Stammverzeichnis unserer App ein Procfile hinzuzufügen.
Erstellen Sie eine neue Datei namens Procfile ohne Dateierweiterung und fügen Sie dies hinzu:
web: vendor/bin/heroku-php-apache2
Eine Procfile ist eine Textdatei im Stammverzeichnis Ihrer Anwendung, in dem Prozesstypen definiert und ausdrücklich erkl?rt werden, welcher Befehl ausgeführt werden soll, um Ihre App auf Heroku zu starten.
Wenn Sie nginx als Webserver verwenden m?chten, w?re der Inhalt Ihres procfile :
web: vendor/bin/heroku-php-nginx
Jetzt, da Sie das Procfile hinzugefügt haben, laden Sie das Projekt an GitHub oder Bitbucket hoch. Meins ist Starwazapp.
Gehen Sie zu Dashboard.heroku.com/apps und erstellen Sie eine neue App wie SO:
Erstellen Sie eine neue App aus dem Dashboard
Gib ihm einen Namen wie SO:
Geben Sie App einen Namen
W?hlen Sie eine Bereitstellungsmethode. In unserem Fall verwenden wir Github wie SO:
Verbindung zu GitHub
Der Grund für die Auswahl von GitHub besteht darin, den Entwicklungs- und Wartungsprozess sehr reibungslos zu gestalten. Entwickler k?nnen mit dem Git -Workflow an neuen Funktionen arbeiten.
Geben Sie nun den Namen des Repo in den eingekreisten Bereich ein und klicken Sie auf die Suche. Heroku sucht nach Ihrem Repo unter Ihrem Github -Konto und zeigt es wie SO
an
Suche nach Repo
Klicken Sie auf eine Verbindung wie
Klicken Sie auf die Schaltfl?che Verbinden
Heroku verbindet das Repo wie SO
verbundenes Projekt
scrollen Sie etwas nach unten. Dies ist der interessante Teil. Mit Heroku k?nnen Sie automatische Bereitstellungen mit dem Drücken einer Taste aktivieren. Es gibt Ihnen auch die M?glichkeit, auf Ihren kontinuierlichen Integrationsprozess zu warten, bevor Sie die Produktion bereitstellen. In einer realen App haben Sie eine Testsuite für Ihre Codebasis. Ein Entwicklercode wird gegen die Testsuite ausgeführt. Wenn es vergeht, wird der Code in die Produktion gedr?ngt.
Klicken Sie hier, um automatische Bereitstellungen zu aktivieren. Wir haben keinen CI -Service, daher müssen wir diese Option nicht aktivieren. Lassen Sie uns nun den Master -Zweig bereitstellen.
Hinweis: Sie k?nnen andere Zweige haben und angeben, welche Filiale Sie für die Produktion haben m?chten. In unserem Fall ist der Master -Zweig der Produktionszweig.
Klicken Sie auf die Zweigstelle. Heroku scannt über Ihre Composer.lock -Datei, installiert die erforderlichen Pakete und stellt bereit!
Bereitstellen schlie?lich
Klicken Sie auf die Schaltfl?che anzeigen, um Ihre App zu überprüfen.
Fehler 500
ooops! Wir haben einen 500 -Fehler. Aha, wir haben noch keine Umgebungsvariablen festgelegt. Vor Ort hatten wir eine .env -Datei. Auf Heroku gibt es keine .Env -Datei, aber es gibt eine M?glichkeit, Umgebungsvariablen festzulegen. Gehen Sie zu Einstellungen in Ihrem Dashboard und fügen Sie sie als Konfigurationsvariablen wie SO hinzu:
Oh, noch etwas! Die neue Callback -URL in meinem Fall lautet http://starwazapp.herokuapp.com. Stellen Sie sicher, dass Sie Ihre neue Callback -URL zu dem zugelassenen Callback -URLs in Ihrem Auth0 -Dashboard hinzufügen.
Ihre App sollte jetzt live und arbeiten!
Live -App
Lassen Sie uns eine kleine ?nderung unserer App vornehmen und sehen, wie mühelos sie in die Produktion bereitgestellt werden.
?ffnen index.php und ?ndern Sie den Inhalt des
-Tags von Heard, Sie m?chten nicht auf PHP 7 migrieren? Wagen Sie es uns! zu Star Wars - das Erwachen!. Verpflichten Sie und dr?ngen Sie Ihren Master -Zweig. Gehen Sie nun zur Aktivit?tsregisterkarte Ihres Heroku -Dashboards und beachten Sie den Build. Laden Sie Ihre App neu und Sie sehen den Unterschied.
Build erfolgreich
neue Version
Lassen Sie uns schnell darüber sprechen, wie die Datenbank-, Caching- und Cron -Jobs umgehen. Auf Heroku k?nnen Sie ClearDB und Postgres mit PHP verwenden. Fügen Sie Ihrer App ClearDB hinzu wie SO:
web: vendor/bin/heroku-php-apache2Dieser Befehl vermittelt eine neue ClearDB -Datenbank und gibt die URL zurück, mit der die App darauf zugreift. Alles, was Sie tun müssen, ist es Ihrer App als Umgebungsvariable hinzuzufügen und in der Konfiguration Ihrer App wie SO:
zu analysieren
ClearDB ist eine leistungsstarke, fehlertolerante Datenbank-as-a-Service in der Cloud für Ihre MySQL-Antriebsanwendungen.
web: vendor/bin/heroku-php-nginx
Verwenden Sie MySQLI
Sie k?nnen das für den PDO -Stil anpassen. Fügen Sie Ihrer App Postgres wie SO hinzu:
heroku addons:create cleardb:igniteGehen Sie zu den Addons, und Sie sehen andere Arten von Datenbanken, die Sie mit Ihrer PHP -App verwenden k?nnen.
Heroku liefert eine Reihe von Addons für das Zwischenspeichern, von Memcache über schnell bis hin zu Ironcache und anderen. Hier k?nnen Sie überprüfen, wie Sie Memcache mit PHP auf Heroku verwenden.
Schlie?lich k?nnen Sie den Heroku -Scheduler in geplanten Zeitintervallen verwenden, um Jobs in Ihrer App auszuführen.
Google Cloud
Die Google Cloud -Plattform ist eine riesige und vertrauenswürdige Cloud -Plattform, die viele Unternehmen auf der ganzen Welt bei der Bereitstellung und Hosting ihrer Apps übernommen haben. Ihre Apps werden auf derselben Infrastruktur ausgeführt, die alle Produkte von Google anführt. Welche andere Vertrauensform müssen Sie versichern, dass Ihre Bewerbung gut genug skaliert wird, um Ihre Tausenden und Millionen von Benutzern leicht zu bedienen?
Google Cloud bietet verschiedene Optionen zum Hosting von PHP -Apps. Die Plattform bietet App Engine (vollst?ndig verwaltet), Compute Engine (skalierbare VMs) und Containermotor (Kubernetes -Cluster).
In unserem Fall verwenden wir App Engine. Es wird die Infrastruktur abstrahiert. Lassen Sie uns in die Bereitstellung unserer berühmten Star Wars -App in Google App Engine eingehen.
Wenn Sie Google App Engine verwenden, k?nnen Sie die Standard- oder Flexible -Umgebung ausw?hlen. Letzteres erm?glicht es Ihnen, wie der Name impliziert, eine beliebige PHP -Erweiterung zu installieren, die auf Debian Linux funktioniert, einen konfigurierbaren NGINX -Webserver, ein beschreibbarer Dateisystem und die neuesten PHP
Wir werden die flexible Umgebung verwenden. Erstellen Sie ein neues Projekt. Klicken Sie auf Erstellen, geben Sie dem Projekt einen Namen, w?hlen Sie die Region aus, in der Sie Ihre App bedienen m?chten, und aktivieren Sie die Abrechnung.
Hinweis: Sie werden nicht ohne Ihre Erlaubnis berechnet.Laden Sie nun den Google SDK herunter und installieren Sie die Google Cloud -Tools.
google sdk installieren
Ausführen von GCloud
app.yaml
web: vendor/bin/heroku-php-apache2Also wurde unsere .Env -Datei zu Google Cloud geführt. Eine Alternative zur Verwendung, besteht darin, die Umgebungsvariablen zur App.yaml -Datei wie SO hinzuzufügen:
web: vendor/bin/heroku-php-nginxStellen Sie jetzt Ihre Anwendung in Ihrer Konsole durch, indem Sie die GCLOUD -App -Bereitstellung ausführen.
schnappen Sie sich die URL, in meinem Fall handelt es sich um https://starwars-166515.appspot.com/ und fügen Sie zu erlaubten Origins (CORs) hinzu und erlaubten Callback-URLs in Ihrem Auth0-Dashboard. Fügen Sie auch die URL zu auth0_callback_url in Ihrer .env -Datei hinzu.
GCCLOUD -App reiten Sie erneut bereit, um eine neue Version der App bereitzustellen. Schauen Sie sich jetzt Ihre App an. Es sollte so leben wie so:
Live -App
Google Cloud bietet eine Cloud -SQL -Instanzplattform. Schauen Sie sich hier mySQL -Instanzen für Ihre App konfiguriert, verbinden und erstellen Sie hier.
Sie k?nnen auch PhpMyAdmin in der Google App Engine verwenden.
Google App Engine enth?lt Implementierungen des Standard -Memcache- und Memcached -APIs. überprüfen Sie, wie Sie Memcache in Ihrer App in Google Cloud verwenden.
Mit dem App Engine Cron Service k?nnen Sie regelm??ig geplante Aufgaben konfigurieren, die in definierten Zeiten oder regelm??igen Abst?nden funktionieren. Schauen Sie sich an, wie Sie Cron -Jobs planen und Task -Warteschlangen mit PHP in Google Cloud verwenden.
Es ist relativ einfach, Laravel-, Symfony- und WordPress -Apps auf der Google Cloud -Plattform bereitzustellen.
IBM Bluemix
MitIBM Bluemix k?nnen Sie eine leistungsstarke, leistungsstarke Cloud -Infrastruktur einfach konfigurieren, bereitstellen und skalieren. Lassen Sie uns in die Bereitstellung unserer berühmten Star Wars -App zu IBM Bluemix eingehen.
Melden Sie sich bei Bluemix wie SO an:
Anmelden auf Bluemix
Hinweis: Die Bluemix-Plattform bietet eine 30-Tage-kostenlose Testversion, damit Sie versuchen k?nnen, Ihre eigene Bewerbung bereitzustellen, bevor Sie Ihre Kreditkartendaten übergeben.
Erstellen Sie eine Organisation und einen Raum. Ich habe meinen Raumprodukt genannt.
Machen Sie jetzt die Cloud Foundry CLI. Sobald Sie das getan haben, melden Sie sich wie SO von Ihrem Terminal an:
web: vendor/bin/heroku-php-apache2
melden Sie sich bei Bluemix
Der n?chste Schritt besteht darin, eine Manifest.yml -Datei im Stammverzeichnis der App zu erstellen. Die Manifest.yml -Datei enth?lt grundlegende Informationen zu Ihrer App, z. B. den Namen, wie viel Speicher für jede Instanz und die Route zuzuweisen. Unsere Manifestdatei sollte so aussehen:
web: vendor/bin/heroku-php-nginx
Sie k?nnen den Buildpack in der Manifestdatei auch explizit angeben. Zum Glück erkennt Cloud Foundry automatisch, welcher Buildpack erforderlich ist, wenn Sie eine App drücken.
Buildpacks bieten Framework und Laufzeitunterstützung für Ihre Anwendungen. Buildpacks untersuchen in der Regel benutzerbereitete Artefakte, um festzustellen, welche Abh?ngigkeiten heruntergeladen werden sollen und wie Anwendungen für die Kommunikation mit gebundenen Diensten konfiguriert werden.
Stellen Sie Ihre App schlie?lich bereit, indem Sie den folgenden Befehl wie SO ausführen:
heroku addons:create cleardb:ignite
Bereitstellung
Ending -Bereitstellung
Versuchen Sie jetzt, die App auszuführen. In meinem Fall ist die URL Starwarsapp.mybluemix.net. Hoppla, ein 500 -Fehler. Wir haben unsere Umgebungsvariablen noch nicht geladen. Wie machen wir das mit Bluemix?
Sie k?nnen entweder die Cloud -Foundry -CLI oder die Bluemix -Benutzeroberfl?che verwenden, um Umgebungsvariablen festzulegen. Verwenden wir die Bluemix -Benutzeroberfl?che. Befolgen Sie also die folgenden Schritte:
-
?ffnen Sie das Bluemix -Dashboard.
-
Klicken Sie auf die App. Sie werden mit weiteren Details zur App zu einer anderen Seite umgeleitet.
-
W?hlen Sie die Laufzeit aus dem linken Feld aus.
-
Klicken Sie jetzt auf Umgebungsvariablen
-
scrollen Sie nach unten und klicken
- Klicken Sie auf die Schaltfl?che Speichern. Sobald Sie dies tun, wird Ihre App automatisch neu gestartet.
Schauen Sie sich jetzt Ihre App an - es sollte live sein!
Datenbank, Caching & Cron Jobs
Cloud Foundry bietet die M?glichkeit, Dienste zu erstellen. IBM Bluemix bietet die Cloudant NoSQL -Datenbank (den Bluemix -Namen für CouchDB) an. Sie k?nnen das CF -Tool verwenden, um Datenbankdienste wie SO zu erstellen:
web: vendor/bin/heroku-php-apache2IBM Bluemix bietet auch den ClearDB MySQL -Dienst an. Sie k?nnen also das CF -Tool verwenden, um eine wie SO zu erstellen:
web: vendor/bin/heroku-php-nginxSie bieten MongoDB, PostgreSQL und Rethinkdb.
Sie k?nnen immer das Cloud -Foundry -Tool verwenden, um viele Dinge wie Protokolle, Umgebungsvariablen usw. wie SO zu überprüfen:
- vgl. Protokolle -Recent YourApp -Zeigt die Protokolle Ihrer App an.
- vgl. Env YourApp - Zeigt die Umgebungsvariablen an, die Ihrer App zugeordnet sind.
- vgl. Marktplatz - zeigt alle Dienstleistungen, die Bluemix zu bieten hat.
IBM Bluemix bietet den Workload Scheduler -Service. Mit diesem Service k?nnen Sie Ihre Anwendung in die F?higkeit integrieren, Workflows zu planen. Weit über Cron hinaus, um die Arbeitsplanung innerhalb und au?erhalb von Bluemix zu nutzen. Erstellen Sie problemlos Workflows in Ihrer Anwendung, die regelm??ig zu einem bestimmten Zeitpunkt auf Ereignissen ausgeführt werden (z. B. wenn eine Datei gel?scht oder aktualisiert wird) entsprechend Ihren Anforderungen. Sie k?nnen entweder die ??> Workload Scheduler -Benutzeroberfl?che
verwenden oder die APIs verwenden. Beginnen Sie mit der Planung von Jobs hier.
Hier finden Sie auch, wie Sie Ihre Laravel -App auf IBM Bluemix bereitstellen.
Microsoft Azure
Microsoft Azure ist eine weitere massive Cloud -Plattform, mit der Sie Ihre Apps einfach skalieren k?nnen. Beginnen wir mit der Bereitstellung unserer Star Wars -App auf Azure.
Mit Microsoft Azure k?nnen Sie über:
bereitstellenftp.
- synchronisieren mit einem Wolkenordner.
- Lokale Git.
- Cloud -basierter Quellvertretungsdienst wie Github oder Bitbucket.
- In unserem Fall werden wir die Bereitstellung mit Git einrichten.
- Erstellen Sie zuerst ein Konto mit Microsoft Azure.
-
Dashboard
-
Klicken Sie auf dem linken Bereich auf Neu.
-
Klicken Sie auf alle direkt neben dem Marktplatz.
-
Klicken Sie auf Web SQL, und erstellen Sie dann.
-
Sie werden aufgefordert, ein Angebot für die Art des Abonnements auszuw?hlen, mit dem Sie sich wohl fühlen. Ich habe kostenlose Testversion gew?hlt. Damit erhalten Sie einen $ 200 Azure -Kredit.
-
Geben Sie Ihrer App einen Namen und erstellen Sie dann eine SQL -Datenbank. Nun, es ist für unsere App nicht ben?tigt, aber aus irgendeinem Grund zwingt Azure Sie, sie zu erstellen.
Erstellen Sie eine neue App
-
Jetzt, da unsere App erstellt wurde, klicken Sie auf App -Dienste im linken Bereich, um Ihre App anzuzeigen.
neue App
-
Klicken Sie auf die App, w?hlen Sie Bereitstellungsoptionen und klicken Sie dann auf GitHub.
-
W?hlen Sie den Zugriff auf Ihr Repo aus, w?hlen Sie das Projekt und die Filiale. In meinem Fall habe ich einen Azure -Zweig. Das ist die Filiale, mit der ich meinen Code auf der Azure -Plattform bereitstellen kann.
-
Schauen Sie sich die Bereitstellungsbenachrichtigungen an.
St?bern Sie nun zu http: // [youruitename] .azurewebsites.net. In meinem Fall ist es http://starwarzapp.azurewebsites.net.
oops!, Es gibt einen HTTP 500 -Fehler. Was passiert? Okay, wir müssen die Umgebungsvariablen erneut festlegen.
-
Gehen Sie zu Ihrer App in App -Diensten, klicken Sie auf die Anwendungseinstellungen und fügen Sie dann die Umgebungsvariablen zur rechten Seite hinzu.
Nehmen Sie jetzt die App -URL, in meinem Fall ist es http://starwarzapp.azurewebsites.net/ und fügen Sie zu erlaubten Origins (CORs) hinzu und erlaubten Callback -URLs in Ihrem Auth0 -Dashboard.
-
standardm??ig macht die Azure -Bereitstellung mit unserer Datei composer.json oder Composer.lock nichts etwas unternommen. Daher wird kein Paket installiert. Gehen Sie nun zu App -Diensten zurück, klicken Sie auf Ihre App, gehen Sie zu Entwicklungswerkzeugen und w?hlen Sie Erweiterung. W?hlen Sie die Komponisterweiterung und stimmen Sie den rechtlichen Bedingungen zu.
-
Nehmen Sie jetzt eine kleine ?nderung Ihrer App vor und drücken Sie erneut auf GitHub. Sie sollten sehen, wie es so eingesetzt wird:
-
Schauen Sie sich jetzt Ihre App erneut an. Es sollte live und arbeiten!
Datenbank, Caching & Cron Jobs
Microsoft Azure bietet Azure Redis Cache . Es basiert auf dem beliebten Open Source Redis -Cache. Es ist einfach zu erstellen und zu verwenden wie SO:
- Klicken Sie auf Neu> Datenspeicher> Redis -Cache.
- Geben Sie den Namen des Cache ein, w?hlen Sie die Region aus und erstellen Sie ihn.
Schauen Sie sich die Dokumentation zur Verwendung an.
Für die Planung und Ausführung von Aufgaben bietet Azure einen Scheduler an. Es erm?glicht Ihnen:
- Anrufdienste innerhalb oder au?erhalb von Azure.
- Auftr?ge auf einem beliebigen Zeitplan ausführen.
- Verwenden Sie Azure Storage-Warteschlangen für langj?hrige oder offline-Jobs.
- Invoke Azure Service Bus -Warteschlangen.
überprüfen Sie, wie Sie Jobs mit dem Scheduler erstellen und verwalten.
Wir haben bereits ein wenig über das Einrichten einer Datenbank gesprochen, w?hrend wir unsere App bereitgestellt haben, aber schauen wir uns schnell an, wie eine MySQL -Datenbank eingerichtet wird.
-
Loggen Sie sich im Azure -Portal an.
-
Klicken Sie auf Neu im linken Feld des Dashboards. W?hlen Sie den Datenspeicher auf dem Marktplatz und w?hlen Sie dann die MySQL -Datenbank.
-
Konfigurieren Sie Ihre neue MySQL -Datenbank. Geben Sie einen Namen ein, w?hlen Sie Ihr Abonnement und Ihren Standort und füllen Sie die erforderlichen Felder aus. Erstellen!
-
Stellen Sie eine Verbindung zur Datenbank her.
Laravel -Entwickler k?nnen einfach eine MySQL -Datenbank für ihre Apps auf Azure konfigurieren.
Amazon Web Services
mehr Unternehmen verwenden AWS (Amazon Web Services), um alle Arten von Daten zu speichern, die von Bildern und MP3 -Dateien bis hin zu Videos reichen als auf jeder anderen Cloud -Plattform. Tats?chlich nutzen viele Unternehmen wie Uber, Spotify oder Salesforce Amazon Web Services vollst?ndig - für Hosting, Bereitstellung und Infrastruktur. AWS hat eine Menge Entwicklerprodukte.
Der Service, den wir für die Bereitstellung unserer berühmten StarWARS -App verwenden, ist Amazon Elastic Beanstalk. Lassen Sie uns beginnen.
- Melden Sie sich für ein AWS -Konto an, wenn Sie keine haben.
- Gehen Sie zur elastischen Beanstalk -Konsole.
- Erstellen Sie eine neue App.
- Klicken Sie auf Webserver erstellen.
- Erstellen Sie die Webserver -Umgebung.
- Laden Sie Ihren Code hoch. Bei elastischer Beanstalk müssen Sie eine ZIP -Datei Ihrer Codebasis hochladen. Sie k?nnen es manuell aufziehen, aber ich mache das lieber aus meinem Terminal wie SO: ZIP ../starwarsapp.zip -r *. [^.] *
- Laden Sie es nun in AWS Like SO hoch:
- Verfügbarkeit für die App -URL prüfen. Meins sieht so aus:
- Auf der n?chsten Seite k?nnen wir eine Datenbankinstanz konfigurieren. Unsere App ben?tigt keine, sodass wir dies überspringen k?nnen.
- Mit diesem Schritt k?nnen wir unsere Konfigurationsdetails ?ndern. Die Standardeinstellung ist in Ordnung für unsere App.
- Fügen Sie jetzt Ihre Umgebungsvariablen wie SO hinzu:
Nehmen Sie jetzt die URL, in meinem Fall handelt es sich um http://starwarzapp.us-west-2.elasticbeanstalk.com und fügen Sie zu erlaubten Origins (CORs) hinzu und erlaubten Callback-URLs in Ihrem Auth0-Dashboard. Stellen Sie sicher, dass Sie es auch als Umgebungsvariable in elastischer Bohnenstange hinzufügen.
- Erlaubnis wie SO hinzufügen:
- überprüfen Sie die Informationen vor dem Start.
- starten.
Live -App
überprüfen Sie, wie Sie bereitstellen:
- Eine Laravel -App zum elastischen Beanstalken.
- Eine CakePhp -App zum elastischen Bohnenstiel.
- Eine Symfony2 -App zum elastischen Beanstalken.
- Eine WordPress -Website zum elastischen Beanstalken.
- Eine Drupal -Website zum elastischen Beanstalken.
Datenbank, Caching und Cron Jobs
Sie k?nnen eine Amazon Relational Database Service (Amazon RDS) DB -Instanz verwenden, um Daten zu speichern, die von Ihrer Anwendung gesammelt und ge?ndert wurden. Die Datenbank kann Ihrer Umgebung angeh?ngt und mit elastischen Beanstalk verwaltet oder extern erstellt und verwaltet werden. überprüfen Sie, wie Sie Ihrer App problemlos eine DB -Instanz hinzufügen.
Für das Caching bietet Amazon Web Services Elasticache. Es ist ein Webdienst, mit dem Sie einen In-Memory-Datenspeicher oder Cache in der Cloud einfach bereitstellen, bedienen und skalieren k?nnen. Amazon Elasticache unterstützt zwei Open-Source-In-Memory-Motoren:
- Redis.
- memcached.
Amazon Elasticache erkennt automatisch fehlgeschlagene Knoten und ersetzt den Overhead, das mit selbst verwalteten Infrastrukturen verbunden ist, und bietet ein widerstandsf?higes System, das das Risiko überlasteter Datenbanken mindert, die die Websites verlangsamen und die Anwendungslastzeiten erh?hen. Durch die Integration mit Amazon CloudWatch bietet Amazon Elasticache eine verbesserte Sichtbarkeit in wichtigen Leistungsmetriken, die Ihren Redis- oder Memcached -Knoten zugeordnet sind.
Unternehmen wie Airbnb, Healthguru, PlaceIQ und Tokyo Data Network verwenden Elasticache für das Caching bei mehreren Schichten, die HTML -Fragmente, Ergebnisse teurer DB -Abfragen, kurzlebigen Sitzungsdaten und Suchergebnissen.
überprüfen Sie, wie Sie hier den Elasticache -Cluster -Client für PHP installieren.
Hier ist ein ausgezeichneter Beitrag zum Bau eines PHP -Besucherz?hlers mit Elastizier und elastischen Beanstalk
Sie k?nnen einen Cron -Job auf elastischen Bohnenstangen einrichten. Erfahren Sie, wie Sie Cron Jobs in Amazon Web Services (AWS) elastic beanstalk ausführen.
laravel Forge
Laravel Forge, erstellt von Taylor Otwell, ist eine Plattform, mit der Sie Ihre Anwendung in wenigen Minuten bereitstellen und starten k?nnen. Es macht das schwere Leben für Sie. Forge kümmert sich um die Bereitstellung Ihrer Server auf beliebten Cloud -Hosting -Anbietern wie Linode, Digital Ocean und AWS. Es wurde ursprünglich für Laravel -Apps erstellt, aber jetzt unterstützt es praktisch jede PHP -Anwendung.
laravel Forge
Laravel Forge erm?glicht es Ihnen, neben Bereitstellungsservern einfach Folgendes zu tun:
- Es wird in LetSencrypt integriert, um kostenlose SSL -Zertifikate für Ihre Apps zu generieren.
- einfach Jobs und Warteschlangen verwalten.
- Zusammenarbeit mit Ihrem Team, indem Sie das Management-Dashboard Ihres Servers mit Mitarbeitern teilen.
Matt Stauffer verfügt über einen erstaunlichen Beitrag zum Bereitstellen Ihrer ersten Laravel -App zum Schmieden.
James Fairhurst hat auch eine gro?artige Anleitung zur Verwendung von Laravel Forge, um einen AWS -Server einzurichten.
Die beliebteste p?dagogische PHP -Plattform, Laracasts.com hat eine Serie zum Servermanagement mit Forge.
Und natürlich erw?hnen wir es in unserem Laravel-Kurs und behandeln es auch in solchen eingehenden Tutorials.
Gesandte
Envoyer ist eine Plattform, die die PHP -Bereitstellung von Null erm?glicht - es ist die SaaS -Version von Envoy. Sie k?nnen in verschiedene Dienste wie Gitlab, Slack, Bitbucket E.T.C.
Mit dem Gesandten k?nnen Sie ausführen:
- nahtlose Bereitstellungsrollbacks.
- für mehrere Server bereitstellen.
- CRON -Jobs überwachen.
- Bewerbung für Anwendungsgesundheit durchführen.
Deploymer
Deployer ist ein Bereitstellungstool für PHP. Sie k?nnen Folgendes tun:
- Aufgaben parallel ausführen.
- atomic bereitgestellt.
- Rollbacks.
- Bereitstellungsskripte in Form von Rezepten erstellen.
Es funktioniert mit laravel , Symfony , cakePhp , yiiframework , Zend , FuelPhp , drupal , WordPress und magento . Schauen Sie sich diesen ausgezeichneten Artikel zum Bereitstellen von PHP -Anwendungen mit Deployer an.
Schlussfolgerung
Auf keinen Fall k?nnen wir alle verschiedenen Optionen zur Bereitstellung von PHP -Anwendungen abdecken. PHP ist eine Unternehmenssprache, die sich im Laufe der Jahre weiterentwickelt hat und so effizientere M?glichkeiten für die Bereitstellung von PHP -Apps von der lokalen Maschine bis zur Produktion fordert. Hoffentlich deckt dieser Leitfaden alle Ihre Grundbedürfnisse für die Bereitstellung Ihrer PHP -Apps für alle gro?en Cloud -Anbieter ab. Es gibt jedoch eine andere Ressource, die ich für umfangreiche Kenntnisse im Lernen zur Bereitstellung von PHP -Anwendungen empfehle.
Wie haben Sie Ihre Bereitstellungen bearbeitet? Bitte lassen Sie es mich im Kommentarbereich unten wissen!
h?ufig gestellte Fragen (FAQs) zum Bereitstellen von PHP -Apps in der Cloud
Wie hoch sind die Vorteile der Bereitstellung von PHP -Apps in der Cloud? Erstens bietet es Skalierbarkeit. Wenn Ihre Bewerbung w?chst, k?nnen Sie Ihre Ressourcen problemlos anpassen, um die Nachfrage zu befriedigen. Zweitens bietet es Kosteneffizienz. Sie zahlen nur für die von Ihnen verwendeten Ressourcen, was im Vergleich zu herk?mmlichem Hosting erhebliche Einsparungen sein kann. Drittens bietet Cloud Hosting eine bessere Leistung und Geschwindigkeit. Mit Rechenzentren weltweit kann Ihre Anwendung n?her an Ihren Benutzern gehostet werden und die Latenz verringert. Schlie?lich bietet es eine bessere Zuverl?ssigkeit und Verfügbarkeit, da Ihre Anwendung nicht von einem einzelnen Server abh?ngt.
Wie kann ich den richtigen Cloud -Dienst für meine PHP -App ausw?hlen? Für Ihre PHP -App h?ngt von mehreren Faktoren ab. Dazu geh?ren die spezifischen Anforderungen Ihrer Bewerbung, Ihr Budget und Ihr technisches Fachwissen. Einige Cloud -Dienste bieten fortschrittlichere Funktionen an, ben?tigen jedoch m?glicherweise mehr technisches Wissen, um effektiv zu nutzen. Andere sind m?glicherweise benutzerfreundlicher, bieten jedoch m?glicherweise nicht das gleiche Ma? an Anpassung oder Kontrolle. Es ist wichtig, jede Option gründlich zu erforschen und zu überlegen, welche Funktionen und Dienste für Ihre spezifischen Anforderungen am wichtigsten sind.
Was sind die Schritte, um eine PHP -App in Google Cloud bereitzustellen? Zun?chst müssen Sie ein Google Cloud -Konto erstellen und ein neues Projekt einrichten. Anschlie?end müssen Sie das Google Cloud SDK auf Ihrem lokalen Computer installieren. Anschlie?end müssen Sie die Einstellungen Ihrer App in der Datei app.yaml konfigurieren. Danach k?nnen Sie Ihre App über den Befehl GCloud App Deployming bereitstellen. Schlie?lich k?nnen Sie Ihre App im Browser mit dem Befehl GCloud App durchsuchen.
Wie kann ich die Sicherheit meiner PHP -App in der Cloud sicherstellen? In der Wolke beinhaltet mehrere Ma?nahmen. Dazu geh?ren die Verwendung sicherer Codierungspraktiken, regelm??ig Aktualisierung und Patch Ihrer Software, die Verwendung von Verschlüsselung für Daten im Transit und in Ruhe, die Implementierung starker Zugriffskontrollen und regelm??ig überwachung und Prüfung Ihrer Systeme für ungew?hnliche Aktivit?ten.
Was ist der Rolle einer PHP -Hosting -Plattform wie Cloudways? Es kümmert sich um viele der technischen Aspekte des Cloud -Hostings, wie z. B. Server -Setup, Sicherheit, Sicherungen und Updates, sodass Sie sich auf die Entwicklung Ihrer App konzentrieren k?nnen. Es bietet auch Tools und Funktionen, mit denen Sie die Leistung und Skalierbarkeit Ihrer App optimieren k?nnen.
Wie kann ich meine vorhandene PHP -App in die Cloud migrieren? Schritte. Zun?chst müssen Sie einen Cloud -Dienst ausw?hlen und ein Konto erstellen. Anschlie?end müssen Sie Ihre App für die Migration vorbereiten, wodurch Ihr Code neu gestaltet oder andere ?nderungen vorgenommen werden k?nnen, um die Kompatibilit?t mit der Cloud -Umgebung sicherzustellen. Als n?chstes müssen Sie Ihre App in der Cloud bereitstellen, sie gründlich testen, um sicherzustellen, dass sie korrekt funktioniert, und dann Ihre Benutzer in die neue Version umstellen.
Die Bereitstellung von PHP -Apps in der Cloud kann mehrere Herausforderungen darstellen. Dazu geh?rt der Umgang mit der Komplexit?t der Cloud -Umgebung, der Sicherstellung der Sicherheit Ihrer App und Ihrer Daten, der Verwaltung der Kosten und der Optimierung der Leistung. Es ist wichtig, diese Herausforderungen ein gutes Verst?ndnis zu haben und wie Sie sie vor dem Starten Ihrer Bereitstellung ansprechen k?nnen.
Wie kann ich die Leistung meiner PHP -App in der Cloud optimieren? Ihrer PHP -App in der Cloud kann mehrere Strategien beinhalten. Dazu geh?ren die Auswahl der richtigen Gr??e und der Art von Cloud-Ressourcen für Ihre Anforderungen, die Verwendung von Caching und anderen leistungssteigernden Funktionen, die Optimierung Ihrer Code- und Datenbankabfragen sowie die regelm??ige überwachung und Anpassung Ihrer Ressourcen bei Bedarf.
Welche Rolle spielen Google Cloud -PHP -Bibliotheken? Sie bieten eine Reihe von APIs, mit denen Sie verschiedene Vorg?nge ausführen k?nnen, z. B. das Speichern und Abrufen von Daten, das Ausführen von Abfragen und das Verwalten von Ressourcen. Wenn Sie diese Bibliotheken verwenden, k?nnen Sie Ihre App einfacher mit Google Cloud integrieren und ihre Funktionen und Dienste nutzen. > RunCloud ist ein Cloud -Server -Management -Tool, das den Prozess der Bereitstellung und Verwaltung von PHP -Apps in der Cloud vereinfacht. Es bietet eine benutzerfreundliche Oberfl?che und eine Reihe von Tools und Funktionen, mit denen Sie Ihre Cloud-Server einrichten, sichern und optimieren k?nnen. Es unterstützt mehrere Cloud -Anbieter und erm?glicht es Ihnen, alle Ihre Server über ein einzelnes Dashboard zu verwalten.
Das obige ist der detaillierte Inhalt vonDie ultimative Anleitung zum Bereitstellen von PHP -Apps in der Cloud. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Hei?e KI -Werkzeuge

Undress AI Tool
Ausziehbilder kostenlos

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

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

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

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

H?ufige Probleme und L?sungen für den variablen PHP -Umfang umfassen: 1. Die globale Variable kann innerhalb der Funktion nicht zugegriffen werden, und sie muss bei der Verwendung des globalen Schlüsselworts oder Parameters übergeben werden. 2. Die statische Variable wird statisch deklariert und nur einmal initialisiert und der Wert wird zwischen mehreren Aufrufen beibehalten. 3.. Hyperglobale Variablen wie $ _get und $ _post k?nnen direkt in jedem Bereich verwendet werden, aber Sie müssen auf eine sichere Filterung achten. 4. Die anonymen Funktionen müssen über das Schlüsselwort verwenden, und wenn Sie externe Variablen ?ndern, müssen Sie eine Referenz übergeben. Das Beherrschen dieser Regeln kann dazu beitragen, Fehler zu vermeiden und die Code -Stabilit?t zu verbessern.

Um PHP -Datei -Uploads sicher zu verarbeiten, müssen Sie die Quelle und die Type und die Eingabe des Dateinamens und des Pfades überprüfen, Serverbeschr?nkungen festlegen und Mediendateien zweimal verarbeiten. 1. überprüfen Sie die Upload -Quelle, um CSRF durch Token zu verhindern, und erkennen Sie den realen MIME -Typ über die Finfo_file mithilfe der Whitelist -Steuerung. 2. Benennen Sie die Datei in eine zuf?llige Zeichenfolge um und bestimmen Sie die Erweiterung, um sie gem?? dem Erkennungstyp in einem Verzeichnis ohne Web zu speichern. 3. Die PHP -Konfiguration begrenzt die Hochladengr??e und das tempor?re Verzeichnis Nginx/Apache verbietet den Zugriff auf das Upload -Verzeichnis. 4. Die GD -Bibliothek stellt die Bilder neu, um potenzielle b?swillige Daten zu l?schen.

Es gibt drei g?ngige Methoden für den PHP -Kommentarcode: 1. Verwenden Sie // oder #, um eine Codezeile zu blockieren, und es wird empfohlen, // zu verwenden. 2. Verwenden Sie /.../, um Codebl?cke mit mehreren Zeilen zu wickeln, die nicht verschachtelt werden k?nnen, aber gekreuzt werden k?nnen. 3.. Kombinationskenntnisse Kommentare wie die Verwendung / if () {} / Um Logikbl?cke zu steuern oder um die Effizienz mit Editor -Verknüpfungsschlüssel zu verbessern, sollten Sie auf die Schlie?ung von Symbolen achten und das Verschachteln bei der Verwendung vermeiden.

AgneeratorinphpiSamemory-effizientes WaytoiterateOverlargedatasetsByyieldingValueatimeinsteadofReturningThemallatonce.1.GeneratorsusetheyieldKeywordtoproduktenvaluesonDemand, ReducingMemoryUsage.2.TheyareusefulforfulforfulfordlingBiglopploups, Lesebiglochen, Leselungen, Lesebigs, Leselung, oder

Der Schlüssel zum Schreiben von PHP -Kommentaren liegt in der Kl?rung des Zwecks und der Spezifikationen. Kommentare sollten "Warum" und nicht "was getan" erkl?ren, um Redundanz oder zu Einfachheit zu vermeiden. 1. Verwenden Sie ein einheitliches Format wie Docblock (/*/) für Klassen- und Methodenbeschreibungen, um die Lesbarkeit und die Kompatibilit?t der Werkzeuge zu verbessern. 2. Betonen Sie die Gründe für die Logik, z. B. warum JS -Sprünge manuell ausgeben müssen. 3. Fügen Sie eine übersichtsbeschreibung vor komplexem Code hinzu, beschreiben Sie den Prozess in Schritten und helfen Sie, die Gesamtidee zu verstehen. V. Gute Anmerkungen k?nnen die Kommunikationskosten senken und die Effizienz der Code -Wartung verbessern.

In PHP k?nnen Sie quadratische Klammern oder lockige Klammern verwenden, um Zeichenfolgenspezifikationsspezifische Indexzeichen zu erhalten, aber quadratische Klammern werden empfohlen. Der Index startet von 0 und der Zugriff au?erhalb des Bereichs gibt einen Nullwert zurück und kann keinen Wert zugewiesen; MB_SUBSTR ist erforderlich, um Multi-Byte-Zeichen zu verarbeiten. Zum Beispiel: $ str = "Hallo"; echo $ str [0]; Ausgabe H; und chinesische Zeichen wie Mb_Substr ($ str, 1,1) müssen das richtige Ergebnis erzielen. In den tats?chlichen Anwendungen sollte die L?nge der Zeichenfolge vor dem Schleifen überprüft werden, dynamische Zeichenfolgen müssen für die Gültigkeit verifiziert werden, und mehrsprachige Projekte empfehlen, Multi-Byte-Sicherheitsfunktionen einheitlich zu verwenden.

Toinstallphpquickly, usexampponwindowsorhomebrewonmacos.1.onwindows, download undInstallxampp, SelectComponents, Startapache und PlaceFilesinhtdocscs.2.Anternativ, manuellinstallphpfrfr

Tolearnphpeffectival, startbysettingupalocalerverenVironmentusexs -LikexamppandacodeeditorikevScode.1) InstallxamppForapache, MySQL und Php.SeacodeeditorForsyntaxSupport.3) testyourscludingveliktingveliktelaThbiliodble.Neclyble.NektFile
