Usando WSL como servidor

Usando WSL como servidor

Hace poco instalé WSL y, después de jugar un poco, me preguntaba un par de cosas... primero, ¿es posible tratarlo como un servidor? Por ejemplo, si quisiera alojar una pequeña base de datos MySQL, parece que no hay problema. ¿Pero es posible conectarse a esa instancia de MySQL desde una máquina diferente? ¿Cómo lo haría?

¿Puedo apuntar a este subsistema para desarrollar aplicaciones C++ para Linux desde Visual Studio 2015? ¿Cómo me conecto a la 'máquina remota', que en este caso es la misma caja desde la que estoy ejecutando VS2015?

¿O qué pasaría si estuviera ejecutando un servidor web (¿puedo?) y puedo conectarme a ese servidor desde mi máquina con Windows 10 usando Chrome o alguna herramienta similar?

Respuesta1

Funciona igual que una máquina Linux. Actualmente estamos ejecutando un sitio LAMP y es ágil. Tampoco hay problemas para configurar los dominios.

Consejos y cosas a considerar:

  • Deberá configurar correctamente su Firewall de Windows para reenviar un dominio externo.
  • NO acceda ni edite el subsistema desde su carpeta de Windows. Arruinará las cosas (al menos en su versión actual)
  • Si aún desea editar archivos en Visual Studio (u otro editor), simplemente configure el acceso SSH al WSL (consulte el enlace a continuación) y agregue su sitio Apache como un sitio remoto, o simplemente configúrelo como un repositorio de git (que es el mejor enfoque)
  • Utilice este excelente cliente de terminal diseñado solo para WSLhttps://github.com/goreliu/wsl-terminal
  • Crear otro usuario (el valor predeterminado es root)
  • Si usa PHP7, deberá configurarlo "manualmente", ya que el aptrepositorio predeterminado no lo incluye.

Enlaces Útiles:

Buena suerte, publica cualquier pregunta específica y te ayudaré en lo que pueda.

Respuesta2

Pude "apt-get install apache2" e iniciar el servicio "/etc/init.d/apache2 start". En ese punto, podrá acceder al servidor localmente (desde el cuadro de Windows 10) y, si abre el firewall de Windows, podrá acceder a él desde otras máquinas. No he probado MySQL ni PHP, y los desarrolladores de WSL todavía están agregando nuevas llamadas al sistema (se utilizaron pseudo ttys).justoagregado, y timer_create actualmente no es compatible, por ejemplo), por lo que algunas cosas no funcionarán. Por ejemplo, Apache le advierte que no puede habilitar APR_TCP_DEFER_ACCEPT. Sin embargo, pude ejecutar Tightvncserver, twm, Firefox y xterm dentro de WSL y conectarme remotamente desde VNC (¡divertido!).

Es importante tener en cuenta que upstart o init.d no se inicia automáticamente cuando inicia un cuadro de Windows 10 con WSL, por lo que deberá iniciar los servicios en un script o manualmente.

Puede comunicarse con WSL a través de la red o mediante acceso directo a archivos. WSL puede acceder a la unidad C: a través de /mnt/c/, y Windows 10 puede acceder a WSL a través de c:\Users\%USERNAME%\AppData\Local\lxss. Para escribir archivos en /mnt/c, debe iniciar bash como administrador. No puede ejecutar ejecutables de Windows a través de WSL.

WSL ejecuta binarios ELF de Ubuntu 14.04, así que imagino que necesitarías elExtensión de desarrollo de Visual C++ para Linux(que no he probado).

¡Buena suerte!

información relacionada