Was sind die spezifischen Unterschiede zwischen einem Windows-Server und einem LAMP-Server und über welchen sollte ich mich informieren?

Was sind die spezifischen Unterschiede zwischen einem Windows-Server und einem LAMP-Server und über welchen sollte ich mich informieren?

In den letzten 6 oder 8 Monaten habe ich viel mit .NET gearbeitet. Ich habe etwas über Webdienste gelernt (obwohl ich kein Experte bin) und habe kürzlich ein starkes Interesse an Webservern entwickelt und möchte unbedingt meinen eigenen einrichten. Ich habe einen alten Desktop-Computer mit Windows Server 2008, aber ich lebe in einem Wohnheim und habe keine statische IP. Ich weiß, dass es dafür Lösungen gibt, aber ich möchte zuerst besser verstehen, was ich tue. Was ich einrichten möchte, ist ein Mehrzweckserver, auf dem ich Websites/Android-Apps hosten kann.

Ich habe gehört, dass LAMP-Server besser anpassbar (und daher normalerweise effizienter) sind als Windows/IIS-Server. Stimmt das? Da Apache so weit verbreitet ist, würde ich wirklich gerne mehr darüber erfahren, wie es funktioniert und wie man es wirklich benutzt. Das einzige, was mich daran nervös macht, den LAMP-Weg einzuschlagen, ist die Befehlszeile (ich bin 19 und mit GUIs aufgewachsen). Ich habe schon früher mit der Unix-Befehlszeile gearbeitet und bin mit grundlegenden Befehlen/der Dateisystemnavigation vertraut, aber wenn ich so etwas wie einen Webserver über eine Befehlszeile konfiguriere, werde ich ganz verrückt. Ich kann kostenlose Kopien von fast jeder Microsoft-Software bekommen (ich liebe es, Student zu sein), aber ich möchte mein Wissen über meinen Webserver nicht nur für eine GUI opfern.

Irgendwelche Vorschläge, welchen Weg ich einschlagen sollte? Meine Sorge bei der Umstellung auf Windows ist, dass ich Webserver nie wirklich verstehen würde, weil für mich immer alles gekapselt und vereinfacht wäre. Ich möchte auch wissen, was einen großartigen und effizienten Server ausmacht. Irgendwelche Vorschläge/Bücher/Ressourcenempfehlungen?

Antwort1

Ihre Wahl der Plattform (Windows IIS oder Linux und Apache) wird weitgehend von Ihren Anforderungen bestimmt. Im Moment sind Ihre Anforderungen im Grunde nicht vorhanden, da Sie nur einen Webserver zum Ausprobieren einrichten. Wählen Sie den Technologie-Stack, der für Ihre langfristigen Ziele am relevantesten ist (und da Sie bereits mit .NET gearbeitet haben, wird es wahrscheinlich Windows IIS sein), und verwenden Sie ihn, vertiefen Sie sich in ihn und lernen Sie ihn kennen.

Die Verwendung eines LAMP-Stacks macht Sie nicht automatisch zum Superadministrator (vielleicht zu einem Superadministrator im Hinblick auf LAMP ...), und auch die Verwendung eines IIS macht Sie nicht automatisch zu einem Superadministrator "never really understand web servers because everything would always be encapsulated and simplified for me".

Wie viel Sie lernen möchten und wie gut Sie eine bestimmte Technologie verstehen möchten, hängt weitgehend von Ihrem Interesse und Ihrer Motivation ab und nicht von der Technologie selbst.

Antwort2

Sie möchten einen Webserver einrichten? Dann tun Sie es. Sie müssen dafür kein einjähriges Studium absolvieren. IIS können Sie in wenigen Minuten zum Laufen bringen und eine Linux-Installation mit Apache-Konfiguration in einer virtuellen Maschine in ein oder zwei Stunden.

Die Konfiguration von Apache über die Befehlszeile bedeutet ungefähr „yum install apache“, gefolgt von „Verwenden Sie einen Texteditor, um /etc/httpd/httpd.conf zu bearbeiten“ (spezifisch für die Linux-Distribution). Es ist keine lange Kette von Konsolenbefehlen erforderlich, um viele Einstellungsänderungen vorzunehmen.

Ich habe gehört, dass LAMP-Server anpassbarer sind (und daher normalerweise effizienter).

Das ergibt sich nicht. Anpassbarer, ja, effizienter, hängt ganz davon ab, was Sie mit „effizient“ meinen. Das P in LAMP bezieht sich normalerweise auf „PHP, Perl, Python, (Ruby)“ und Sie werden auf einige Einwände stoßen, wenn Sie behaupten, sie seien effizienter als IIS/ASP.Net.

Wenn Sie einen leichten (schnellen, „effizienten“?) Webserver wünschen, wäre nginx eher einen Blick wert.

Irgendwelche Vorschläge, welchen Weg ich einschlagen sollte? Meine Sorge bei der Umstellung auf Windows ist, dass ich Webserver nie wirklich verstehen würde, weil für mich immer alles gekapselt und vereinfacht wäre.

Was, niemand weiß, wie IIS funktioniert?

Ich möchte auch wissen, was einen tollen und effizienten Server ausmacht.

StackOverflow (Serverfault.com und Freunde) läuft auf Windows/ASP.Net/SQL Server, und es gibt interessante Beiträge im Internet darüber, wie sie es machen (z. B.http://highscalability.com/blog/2009/8/5/stack-overflow-architecture.html)

Antwort3

Abhängig von der gewünschten Verständnisebene gibt es verschiedene Möglichkeiten, dies zu umgehen.

  • Um ein umfassendes Verständnis zu erlangen, müssen Sie den Code gründlich durchforsten. Sie benötigen offensichtlich einige ernsthafte Fähigkeiten, um so etwas tun zu können.

  • Ansonsten lernt man am besten durch Lesen und Ausprobieren. Richten Sie Websites in verschiedenen Konfigurationen ein. Bieten Sie an, die Website eines Freundes kostenlos zu hosten (stellen Sie ihm aber sicher, dass er weiß, dass es sich um eine experimentelle Website handelt), und hosten Sie einige Ihrer eigenen Websites. Probieren Sie verschiedene Funktionen aus. Lesen Sie die Online-Dokumente. Schnappen Sie sich in der Bibliothek ein beliebiges Buch zu dem Thema, um es auf dem Weg zur Arbeit zu lesen.

Außerdem verfügen Windows-Webserver auch über einige ziemlich fortgeschrittene Funktionen. Die Annahme, dass LAMP unbedingt wesentlich anpassbarer ist, ist nicht immer richtig. Ich bin selbst ein Linux-Benutzer, aber ich habe gesehen, wie Windows-Benutzer ziemlich fortgeschrittene Dinge mit IIS gemacht haben. Eine GUI zu haben, macht den Eindruck von verrückten 1337-Befehlszeilenkenntnissen zunichte, aber denken Sie daran, dass es nur ein Eindruck sein kann.

Nur als Beispiel: Soweit ich weiß, wird das Stack Exchange-Netzwerk (also auch diese Site) auf Windows-Webservern ausgeführt. Das zeigt, dass man mit Windows großartige Dinge machen kann.

Antwort4

Wenn Sie LAMP lernen und verwenden, verstehen Sie verschiedene Technologien besser, als wenn Sie Windows + IIS lernen.

verwandte Informationen