Webhosting auf Amazon AWS (PHP + MySQL)

Lesezeit: 5 Minuten

Benutzer-Avatar
AKA

Ich bin völlig verwirrt darüber, wie ich eine dynamische Website hosten soll, die mit erstellt wurde PHP und MySQL in Amazon-Cloud.

Ich ging durch Amazon S3 und ich habe dort eine statische Website gehostet!

Dann habe ich es versucht Amazon EC2 und ich habe einige Aspekte über das VPC-Konzept gelernt. Ich dachte, dass die dynamischen Websites mit EC2 in Amazon Cloud gehostet werden. Ich habe einige Schritte befolgt und sie haben mir beigebracht, wie man eine Website mit startet Drupal (Aber das wollte ich nicht!!)

Es wurden keine anderen Tutorials zu EC2 zum Bereitstellen meiner Webanwendung gefunden.

Dann fand ich AWS Elastic Beanstalkich habe ein einfaches PHP-Dokument hochgeladen und kann sehen, dass es erfolgreich bereitgestellt wurde.

Aber trotzdem bin ich nicht zufrieden. Weil ich nicht weiß, wie ich meine PHP-Anwendung richtig bereitstellen soll.

Kann mich also jemand auf die Bereitstellung einer PHP-MySQL-Anwendung in AWS hinweisen?

  • Wenn Sie sich nicht die Mühe machen möchten, einen Webserver auf einer Vanilla-Linux-Distribution einzurichten, würde ich vorschlagen, dass Sie sich für Elastic Beanstalk entscheiden. Wenn auf Ihrem Server spezielle Anwendungen ausgeführt werden, müssen Sie sich für EC2 entscheiden. Es ist ziemlich einfach, eine EC2-Instance zu starten und zu konfigurieren. Für den Anfang benötigen Sie kein VPC. Sie können sogar mit einem Community-LAMP-Stack (Bitnami-Stacks sind beliebt) und SSH in die Instanz starten, PHP-Dateien an der richtigen Stelle ablegen (/opt/bitnami/apache2/htdocs – wenn ich mich richtig erinnere) und schon kann es losgehen. aws.amazon.com/documentation/ec2

    – Rakesh Bollampally

    29. April 2014 um 13:04 Uhr


Benutzer-Avatar
col000r

Hängt von Ihren Bedürfnissen ab. Elastic Beanstalk mag für viele Apps eine gute Option sein, aber Ich habe mich für EC2 entschieden für das Backend meiner App (mithilfe von PHP, MySQL und S3 zur Aufbewahrung).

Schnelle Schritte, um Sie zum Laufen zu bringen:

  1. Melden Sie sich an AWS-Verwaltungskonsole und neu anfangen EC-Instanz (Windows Server 2012 R2 Base > t2.micro sollte für den Anfang gut genug sein!)

  2. Im Schritt “6. Sicherheitsgruppe konfigurieren”Regeln für mindestens hinzufügen HTTP, HTTPS und RDP (damit Sie sich über Remote Desktop verbinden können)

  3. Verbinden Sie sich über mit Ihrer neuen Instanz Remotedesktop und installieren Sie einen anständigen Browser (Enable Datei-Downloads in IEs Sicherheitseinstellungen und herunterladen Chrom oder Feuerfuchs)

  4. Öffne das Windows-Firewall und fügen Sie Regeln für dieselben Ports hinzu, die Sie in der Sicherheitsgruppe Ihrer Instance in der AWS Management Console geöffnet haben. (Rechtsklick auf „Inbound Rules“, dann „New Rule…“ wählen)

  5. Herunterladen und installieren XAMPP (Ich habe es in C:\xampp abgelegt)

  6. Öffne das XAMPP-Systemsteuerung und installieren Sie Apache und MySQL als Dienste (damit sie automatisch gestartet werden, wenn Ihre Instanz gestartet wird); vergewissern Sie sich, dass alles gestartet ist.

  7. Legen Sie jetzt Ihre Dateien in C:\xampp\htdocs\ ab und Sie können loslegen!

Bonusschritte:

  • Konfiguration Filezilla FTP-Server (und öffnen Sie die erforderlichen Ports sowohl in der Sicherheitsgruppe der Instanz als auch in der Windows-Firewall), damit Sie Dateien hoch-/herunterladen können, ohne über Remote Desktop gehen zu müssen.

  • Holen Sie sich ein Elastische IP und weisen Sie es Ihrer Instanz zu, damit sich seine IP-Adresse nie ändert.

  • Holen Sie sich ein SSL-Zertifikat damit Sie HTTPS verwenden können

  • Die obigen Schritte eignen sich hervorragend für eine Entwicklungs-/Staging-Umgebung. Ich würde jedoch nicht empfehlen, XAMPP in einer Produktionsumgebung zu verwenden, insbesondere wenn Sie die Anwendung skalieren möchten. XAMPP/WAMP/MAMP eignen sich am besten für die Entwicklung oder das Hosten statischer Websites reddit.com/r/webdev/comments/3n5a5a/…

    – omrakhur

    1. Juni 2016 um 10:32 Uhr

  • Hallo @omrakhur, was würden Sie für die Bereitstellung in einer Produktionsumgebung empfehlen?

    – Oliver Kucharzewski

    23. Juli 2016 um 3:14 Uhr

  • @OliverKuchies, ich würde lieber eine ElasticBeanstalk-Umgebung verwenden.

    – omrakhur

    26. Juli 2016 um 21:52 Uhr

  • Hallo @rboe und col00r, ich habe deine Schritte ausprobiert und sie funktionieren großartig! Ich habe den Server erfolgreich auf AWS erstellt, aber jetzt habe ich keine Ahnung, wie ich auf den Server zugreifen soll. Ich verwende AFNetworking von einer iOS-App aus, also brauche ich nur die URL, um eine Verbindung herzustellen. Irgendwelche Tipps?

    – Code Wiget

    6. März 2017 um 1:36 Uhr

  • Hallo @Ryan, Sie sollten die URL im AWS EC2 Control Panel finden können. Normalerweise sieht es so aus: ec2-IP-ADDRESS.REGION.compute.amazonaws.com

    – col000r

    7. März 2017 um 5:23 Uhr


Die Antwort hängt von der erwarteten Auslastung und den Ressourcen ab, die Ihnen für alle Verwaltungsaufgaben zur Verfügung stehen.

Wenn Sie hohe oder variable Lasten erwarten, gibt es viele Gründe, warum Sie keine PHP + MySQL-Produktionsanwendung auf einem EC2 bereitstellen sollten.

Hier sind einige der Vorteile der Bereitstellung auf Elastic Beanstalk anstelle eines manuell konfigurierten EC2:

  • Sie erhalten Versionskontrolle für jede Bereitstellung.

  • Sie können automatisch nach oben oder unten skalieren, wenn Sie mehr/weniger Instanzen benötigen, um neue Lasten zu bewältigen.

  • Sie erhalten einen Load-Balancer vor Ihren EC2s-Instances mit einer Reihe sofort einsatzbereiter „empfohlener“ Konfigurationen.

In Bezug auf MySQL können Sie mit einer Amazon RDS-Instanz Replikation, Überwachung und automatische Backups mit ziemlich geringem Aufwand erledigen. Viele der Konfigurationen, die Sie optimieren müssten, sind jetzt über Parametergruppen verfügbar.

Auf der anderen Seite, wenn Sie die volle Kontrolle über alles haben wollen, was auf Ihrem Server vor sich geht (das heißt, Sie haben Zeit zum Überwachen, Sichern und für Wartungsaufgaben, was nicht mein Fall ist :), oder wenn Sie nicht planen Um viel Datenverkehr zu haben, oder wenn Sie die kostengünstigere Option wünschen, sollten Sie sich für eine kostengünstige EC2-Instance entscheiden.

Nach meiner Erfahrung (nach 2 Jahren Arbeit an AWS mit 10 Produktionsanwendungen bin ich eine Art normaler AWS-Benutzer) konnte ich so ziemlich jede Anpassung oder Änderung, die ich sowohl an RDS als auch an EBS benötigte, optimieren und zum Laufen bringen , also bin ich ziemlich zufrieden mit der Wahl der EBS + RDS-Option.

Unten sind zwei Links, die ich gefunden habe, die hilfreich sind, um eine Anwendung mit AWS Elastic Beanstalk zu erstellen und zu aktualisieren

https://aws.amazon.com/getting-started/tutorials/launch-an-app/

https://aws.amazon.com/getting-started/tutorials/update-an-app/

1244920cookie-checkWebhosting auf Amazon AWS (PHP + MySQL)

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy