Was ist die empfohlene Vorgehensweise zum Einrichten und Ausführen eines OS X-Webservers für eine stark frequentierte öffentliche Website?

Ich wechsle von einem VPS zu einem dedizierten Mac Mini-Server, auf dem Mavericks läuft. Alles, was ich tun möchte, ist, eine typische Website mit Apache, einem Nginx-Reverse-Proxy, PHP und MySQL zu bedienen.

Meine Website ist nicht riesig, aber auch nicht winzig: Ich verdiene normalerweise hunderttausend Seitenaufrufe pro Tag. Es ist eine öffentliche Website im Internet, kein lokales Intranet. Ich bin mit dem Optimieren von .conf-Dateien und dem Herumfummeln im Terminal vertraut, aber die Idee, virtuelle Hosts zu erstellen und Module manuell einzurichten, überfordert meine Fähigkeiten.

Ich hatte Schwierigkeiten, die richtige Softwarelösung für diese Aufgabe zu finden. Soweit ich das beurteilen kann, gibt es drei grundlegende Möglichkeiten:

  1. Verwenden Sie den integrierten Apache, der von Apple bereitgestellt und in Server.app verwaltet wird. Die Konfigurationsoptionen sind begrenzt und bestimmte erweiterte Aspekte (einschließlich der Verwendung von nginx oder alles, was viel mit Sicherheit zu tun hat) werden nicht behandelt.
  2. Verwenden Sie Homebrew oder einfache alte .tar.gz-Dateien, um meinen eigenen Server einzurichten, und behandeln Sie OS X wie jedes alte Unix. Obwohl dies funktionieren würde, hoffe ich, dass OS X mir helfen kann, den Sumpf zu vermeiden, Konfigurationsdateien ganz alleine zu bearbeiten.
  3. Verwenden von Mac-Software wie MAMP oder AMPPS, obwohl beide veraltet oder nicht unterstützt zu sein scheinen und eher auf lokale Tests als auf die Verwendung von Produktionsservern ausgerichtet zu sein scheinen.

Ich würde gerne wissen, wie man einen Mac mini am besten als "echten" Webserver einrichtet, idealerweise mit einer Lösung, die sowohl einfach zu konfigurieren als auch offen ist. Gibt es ein bekanntes Tutorial, dem ich folgen kann? Was ist mit der alternativen Software, die in diesem Monate alten Artikel empfohlen wird, der letztendlich AMPPS empfahl, wenn auch für lokale Tests ?

Antworten (2)

Für meine eigenen nach außen gerichteten Server habe ich alles innerhalb der integrierten Serversoftware selbst erledigt, mit Ausnahme der Verwaltung virtueller Hosts, für die ich VirtualHostX verwendet habe .

Das beste mir bekannte Tutorial zur Konfiguration von Mavericks für die Verwendung durch Webserver stammt von Charles Edge auf seiner Website Krypted . Ich habe im Wesentlichen denselben Prozess befolgt, und bisher habe ich seit der Bereitstellung keine Probleme gesehen.

Angesichts der Tatsache, dass VirtualHostX beim Erstellen virtueller Hosts noch einfacher zu sein scheint als Server.app, glauben Sie, dass es ein notwendiger Teil des Setups ist? Ich werde nur 2-10 virtuelle Hosts haben, und über das „Lift Off“-Zeug hinaus sehe ich nicht wirklich, was diese App bietet. Die Krypted-Site ist jedoch ausgezeichnet, danke!

OS X hat Apache. Dies ist ein ziemlich normaler Build, also sollten Sie in der Lage sein, ihn so zu konfigurieren, dass er fast alles tut, was Sie möchten. Wenn Sie dies tun möchten, müssen Sie sich möglicherweise über die Apache-Konfiguration und dergleichen informieren. Es gibt überall zahlreiche Tutorials zum Einrichten virtueller Hosts usw.

Hier ist eine exemplarische Vorgehensweise zum Einrichten eines Servers in Mountain Lion, der in Mavericks größtenteils ähnlich ist: http://mwholt.blogspot.com/2013/03/install-nginxphpmysql-on-os-x-mountain.html

Sie könnten sich auch einfach den OS X Server leisten. Es bietet möglicherweise nicht alles, wonach Sie suchen, aber es macht eine Reihe von Verwaltungsaufgaben (einschließlich virtueller Server) recht einfach.

Da es anscheinend keine von Apple bereitgestellten oder (unterstützten, aktuellen) GUI-basierten Apps zum Verwalten von MySQL und Nginx gibt, ist der von Ihnen bereitgestellte Link zur Verwendung von Homebrew (zusätzlich zu Apples Server.app Apache ) scheint der einzige Weg zu sein. Das ist in Ordnung, denn das Tutorial ist sehr einfach zu befolgen, aber ich frage mich trotzdem: Ist dies für eine Produktionswebsite eine sichere, performante und „richtige“ Vorgehensweise? Diese Seite ist für eine „Webentwicklungsumgebung“… und ich gehe davon aus, dass ich für eine Website, die stark genutzt und dem breiteren Internet ausgesetzt wird, darüber hinausgehen sollte.