zhaoJians Tech-Notizen

IT-Kurs Computersysteme und Netzwerk 008_Webdienste und Remote-Entwicklung

Lernen / Computersysteme und Netzwerk ~6534 Wörter · 17 Min. Lesezeit - Aufrufe

Webserver-Umgebung

Die Webumgebung bezieht sich auf die Kombination von Hardware und Software, die auf einem Webserver läuft, um Webanwendungen zu hosten und zu verarbeiten. Sie umfasst normalerweise das Betriebssystem, Webserver-Software, Datenbanksysteme, Programmiersprachen und andere verwandte Tools.

Betriebssystem:

  • Linux: Viele Webserver-Umgebungen wählen Linux als Betriebssystem, da es stabil, zuverlässig und quelloffen ist. Häufige Linux-Distributionen sind Ubuntu, CentOS, Debian usw.
  • Windows Server: Für einige spezifische Unternehmensumgebungen ist Windows Server auch eine häufige Wahl.

Webserver-Software:

  • Apache: Open-Source, weit verbreitet, unterstützt mehrere Plattformen, geeignet für verschiedene Webanwendungen.

  • Nginx: Leichtgewichtig, hochperformant, besonders geeignet für die Verarbeitung statischer Inhalte und hoher Parallelität.

  • IIS (Microsoft Internet Information Services): Der offizielle Webserver in Windows-Umgebungen, unterstützt ASP.NET und andere Microsoft-Technologien.

  • LiteSpeed: Hochperformant, geringer Ressourcenverbrauch, kompatibel mit Apache, kann als Ersatz dienen.

  • OpenResty: Eine hochleistungsstarke Webplattform basierend auf Nginx und Lua, die die Kernfunktionalität von Nginx mit der dynamischen Programmierbarkeit von Lua kombiniert, um leistungsstarke und flexible Webanwendungen und Websites zu erstellen.

  • Tomcat: Ein quelloffenes Webserver-Software, die Unterstützung für Java Servlets und JSP bietet. Es ist kein vollständiger Webserver, sondern muss zusammen mit anderen Webservern wie Apache oder Nginx verwendet werden.

Datenbanksysteme:

  • MySQL: Open-Source, leichtgewichtig, geeignet für die meisten Webanwendungen.
  • PostgreSQL: Leistungsstark, unterstützt fortgeschrittene Funktionen, geeignet für komplexe Datenanforderungen.
  • MongoDB: NoSQL-Datenbank, geeignet für die Verarbeitung großer Mengen dokumentähnlicher Daten.
  • Microsoft SQL Server: Relationales Datenbanksystem von Microsoft.

Programmiersprachen und Frameworks:

  • PHP: Häufig für die Entwicklung dynamischer Webanwendungen, verwendet mit Apache und Nginx, Laravel, ThinkPHP.
  • Python: Mit Frameworks wie Django und Flask, geeignet für Webentwicklung und Datenwissenschaft.
  • Ruby: Mit Ruby on Rails Framework, geeignet für schnelle Entwicklung.
  • JavaScript: Frontend- und Server-seitige Entwicklung, React.js, Angular, Vue.js, Node.js.
  • C#: Objektorientierte, stark typisierte, kompilierte Sprache, geeignet für die Entwicklung von Enterprise-Webanwendungen, ASP.NET.
  • Java: Universelle Sprache, geeignet für verschiedene Arten von Anwendungen, einschließlich Webanwendungen, Spring.
  • Go: Statisch stark typisierte, kompilierte, nebenläufige Sprache, geeignet für die Erstellung hochperformanter, skalierbarer Webanwendungen, Echo.

Containerisierung und Virtualisierung:

  • Docker: Bietet Containerisierungslösungen, vereinfacht Deployment und Verwaltung.
  • Kubernetes: Hochgradig skalierbares Container-Orchestrierungssystem, geeignet für großflächiges Container-Deployment.

HelloGitHub | Serverrankings

LAMP/LNMP/WAMP/WNMP

StackBetriebssystemWebserverDatenbankServer-seitige Programmiersprache
LAMPLinuxApacheMySQLPHP/Perl/Python
LNMPLinuxNginxMySQL/MariaDBPHP/Perl/Python
WAMPWindowsApacheMySQL/MariaDBPHP/Perl/Python
WNMPWindowsNginxMySQL/MariaDBPHP/Perl/Python

Remote-Entwicklung

Remote-Entwicklung bedeutet, dass Entwickler Code auf ihrem lokalen Computer schreiben und debuggen, aber die tatsächliche Codeausführung und das Testen auf einem Remote-Server oder in einer Cloud-Umgebung erfolgen. Diese Entwicklungsmethode bietet Vorteile wie zentrale Code-Verwaltung, leistungsstärkere Rechenressourcen und eine flexiblere Arbeitsumgebung.

  • Remote-Versionskontrolle (Remote Version Control): Git, SVN. Ermöglicht es Entwicklern, Code lokal zu schreiben, aber die Versionskontrolle und Zusammenarbeit des Codes erfolgt in einem Remote-Repository. Dies fördert die Teamzusammenarbeit und die sichere Code-Verwaltung.

  • Remote-Entwicklungsumgebung (Remote Development Environment): Remote - SSH, VS Code Remote Development Plugin usw., WebStorm Remote Development. Ermöglicht es Entwicklern, lokal eine integrierte Entwicklungsumgebung (IDE) zu verwenden, aber die tatsächliche Codeausführung und das Debugging erfolgen auf einem Remote-Server. Dies hilft, Konsistenz zwischen lokaler und Remote-Umgebung zu gewährleisten und reduziert Probleme durch unterschiedliche Umgebungen.

  • Remote-Server (Remote Servers): SSH, FTP, SCP usw. Entwickler können sich Remote mit dem Server verbinden und Befehle direkt auf dem Server ausführen, Dateien bearbeiten usw. Dies ist besonders nützlich für Projekte, die in einer bestimmten Umgebung entwickelt und getestet werden müssen.

  • Remote-Debugging (Remote Debugging): Visual Studio Code, WebStorm usw. bieten Remote-Debugging-Funktionen. Ermöglicht es Entwicklern, Code in ihrer lokalen IDE zu debuggen, aber die tatsächlichen Debugging-Operationen werden auf einem Remote-Server ausgeführt. Dies hilft, Probleme zu beheben, die in unterschiedlichen Umgebungen auftreten.

  • Cloud-Entwicklung (Cloud Development): AWS Cloud9, Microsoft Azure Dev Spaces, Google Cloud Shell usw. Bietet Cloud-basierte Entwicklungsumgebungen, die es Entwicklern ermöglichen, in der Cloud zu entwickeln, zu erstellen und zu testen. Dies reduziert den Druck auf lokale Rechenressourcen und verbessert die Flexibilität.

  • Containerisierte Entwicklung (Containerized Development): Docker, Kubernetes, VM. Kapselt Anwendungen und alle ihre Abhängigkeiten in Containern ein, die leicht zwischen lokaler Entwicklungsumgebung und Remote-Server portiert werden können.


Links:

1Panel 宝塔 WDCP PHPStudy XAMPP OneinStack (Linux) UPUPW (Windows) phpEnv、PHPTS、LNMP……

Visual Studio Code

VS Code Plugins: Remote - SSH Remote Development

Google Chrome Webbrowser Google Chrome Webbrowser (China)

Microsoft Edge

Teilen:

Kommentare