WSL als Server verwenden

WSL als Server verwenden

Ich habe WSL vor Kurzem installiert und habe mich nach einigem Herumprobieren über ein paar Dinge gewundert ... Erstens: Ist es möglich, es als Server zu verwenden? Wenn ich beispielsweise eine kleine MySQL-Datenbank hosten möchte, scheint das kein Problem zu sein. Aber ist es möglich, von einem anderen Computer aus eine Verbindung zu dieser MySQL-Instanz herzustellen? Wie würde ich das tun?

Kann ich dieses Subsystem gezielt einsetzen, um C++-Anwendungen für Linux aus Visual Studio 2015 zu entwickeln? Wie stelle ich eine Verbindung zur „Remote-Maschine“ her, die in diesem Fall dieselbe Box ist, auf der ich VS2015 ausführe?

Oder was wäre, wenn ich einen Webserver betreibe (kann ich das?) und kann ich von meinem Windows 10-Rechner aus mit Chrome oder einem ähnlichen Tool eine Verbindung zu diesem Server herstellen?

Antwort1

Es funktioniert genau wie eine Linux-Maschine. Wir betreiben derzeit eine LAMP-Site und sie ist flott. Auch beim Einrichten der Domänen gibt es keine Probleme.

Tipps und Hinweise:

  • Sie müssen Ihre Windows-Firewall richtig einrichten, um eine externe Domäne weiterzuleiten.
  • Greifen Sie NICHT auf das Subsystem zu und bearbeiten Sie es nicht über den Windows-Ordner. Das würde alles durcheinanderbringen (zumindest in der aktuellen Version).
  • Wenn Sie Dateien weiterhin in Visual Studio (oder einem anderen Editor) bearbeiten möchten, richten Sie einfach SSH-Zugriff auf das WSL ein (siehe Link unten) und fügen Sie Ihre Apache-Site als Remote-Site hinzu oder konfigurieren Sie sie einfach als Git-Repository (das ist der beste Ansatz).
  • Verwenden Sie diesen großartigen Terminalclient, der speziell für WSL entwickelt wurdehttps://github.com/goreliu/wsl-terminal
  • Einen weiteren Benutzer erstellen (Standard ist root)
  • Wenn Sie PHP7 verwenden, müssen Sie es „manuell“ einrichten, da das Standard- aptRepo es nicht enthält.

Hilfreiche Links:

Viel Glück! Stellen Sie Ihre spezifischen Fragen und ich helfe Ihnen, so gut ich kann.

Antwort2

Ich konnte "apt-get install apache2" ausführen und den Dienst "/etc/init.d/apache2 start" starten. Ab diesem Zeitpunkt können Sie lokal (von der Windows 10-Box aus) auf den Server zugreifen und, wenn Sie die Windows-Firewall öffnen, von anderen Computern aus darauf zugreifen. Ich habe weder MySQL noch PHP ausprobiert, und die WSL-Entwickler fügen immer noch neue Systemaufrufe hinzu (Pseudo-TTYs wurdenNurhinzugefügt, und timer_create wird derzeit beispielsweise nicht unterstützt), sodass einige Dinge nicht funktionieren. Beispielsweise warnt Apache Sie, dass APR_TCP_DEFER_ACCEPT nicht aktiviert werden kann. Ich konnte jedoch tightvncserver, twm, Firefox und xterm innerhalb von WSL ausführen und mich per VNC remote damit verbinden (macht Spaß!).

Es ist wichtig zu beachten, dass upstart oder init.d nicht automatisch gestartet werden, wenn Sie eine Windows 10-Box mit WSL starten. Sie müssen die Dienste daher in einem Skript oder manuell starten.

Sie können per Netzwerk oder direktem Dateizugriff mit WSL kommunizieren. WSL kann über /mnt/c/ auf das Laufwerk C: zugreifen, und Windows 10 kann über c:\Users\%USERNAME%\AppData\Local\lxss auf WSL zugreifen. Um Dateien auf /mnt/c zu schreiben, müssen Sie Bash als Administrator starten. Sie können keine ausführbaren Windows-Dateien über WSL ausführen.

WSL führt Ubuntu 14.04 ELF-Binärdateien aus, daher benötigen Sie vermutlich dieVisual C++ für Linux-Entwicklungserweiterung(was ich nicht ausprobiert habe).

Viel Glück!

verwandte Informationen