使用 WSL 作为服务器

Nic*_*ros 13 linux windows-10 windows-insider windows-subsystem-for-linux

我最近安装了 WSL,玩了一会儿之后想知道一些事情......首先,是否可以将其视为服务器?例如,如果我想托管一个小型 mysql 数据库 - 看起来这没问题。但是是否可以从不同的机器连接到那个 mysql 实例?我该怎么做?

我可以针对这个子系统从 Visual Studio 2015 为 linux 开发 C++ 应用程序吗?我如何连接到“远程机器”——在这种情况下,它是我运行 VS2015 的同一个盒子?

或者,如果我正在运行一个网络服务器(我可以吗?)并且我可以使用 chrome 或一些此类工具从我的 Windows 10 机器连接到该服务器吗?

小智 6

它就像一台 Linux 机器一样工作。我们目前正在运行一个 LAMP 网站,它很活泼。设置域也没有问题。

提示和注意事项:

  • 您需要正确设置 Windows 防火墙才能转发外部域。
  • 不要从其 Windows 文件夹访问或编辑子系统。它会搞砸(至少在当前的迭代中)
  • 如果您仍然想在 Visual Studio(或其他编辑器)中编辑文件,只需设置对 WSL 的 SSH 访问(请参阅下面的链接),并将您的 Apache 站点添加为远程站点,或者将其配置为 git repo(即最好的方法)
  • 使用这个专为 WSL 设计的出色终端客户端https://github.com/goreliu/wsl-terminal
  • 创建另一个用户(默认为root
  • 如果使用 PHP7,您将需要“手动”设置它,因为默认存储apt库不包含它。

有用的网址:

祝你好运,发布任何具体问题,我会尽我所能提供帮助。


小智 3

我已经能够“apt-get install apache2”并启动服务“/etc/init.d/apache2 start”。那时,您将能够在本地访问服务器(从 Windows 10 盒子),如果您打开 Windows 防火墙,则可以从其他计算机访问它。我还没有尝试过 mysql 或 PHP,并且 WSL 开发人员仍在添加新的系统调用(刚刚添加了伪 tty ,并且当前不支持 timer_create),所以有些东西将无法工作。例如,apache 警告您它无法启用 APR_TCP_DEFER_ACCEPT。不过,我能够在 WSL 中运行ightvncserver、twm、firefox 和 xterm,并从 VNC 远程连接到它(有趣!)。

需要注意的是,当您使用 WSL 启动 Windows 10 机器时,upstart 或 init.d 不会自动启动,因此您需要通过脚本或手动启动服务。

您可以通过网络或直接文件访问与 WSL 进行通信。WSL 可以通过 /mnt/c/ 访问 C: 盘,Windows 10 可以通过 c:\Users\%USERNAME%\AppData\Local\lxss 访问 WSL。要在 /mnt/c 上写入文件,您需要以管理员身份启动 bash。您无法通过 WSL 运行 Windows 可执行文件。

WSL 运行 Ubuntu 14.04 ELF 二进制文件,因此我想您需要Visual C++ for Linux Development 扩展(我还没有尝试过)。

祝你好运!


归档时间:

查看次数:

21405 次

最近记录:

8 年,6 月 前