使用 WSL 作為伺服器

使用 WSL 作為伺服器

我最近安裝了 WSL,玩了一下之後想知道一些事情......首先,是否可以將其視為伺服器?例如,如果我想託管一個小型 mysql 資料庫 - 看起來這沒有問題。但是是否可以從不同的機器連接到該 mysql 實例?我該怎麼做呢?

我可以針對該子系統從 Visual Studio 2015 開發適用於 Linux 的 C++ 應用程式嗎?如何連接到「遠端機器」——在本例中,它與我運行 VS2015 的機器是同一台機器?

或者,如果我正在運行一個網頁伺服器(可以嗎?)並且我可以使用 Chrome 或某些此類工具從我的 Windows 10 電腦連接到該伺服器嗎?

答案1

它的工作原理就像 Linux 機器一樣。我們目前正在運行一個 LAMP 站點,而且速度很快。設定域也沒有問題。

提示和注意事項:

  • 您需要正確設定 Windows 防火牆才能轉送外部網域。
  • 請勿從 Windows 資料夾存取或編輯子系統。它會把事情搞砸(至少在當前的迭代中)
  • 如果您仍然想在Visual Studio(或其他編輯器)中編輯文件,只需設定對WSL 的SSH 存取(請參閱下面的連結),然後將您的Apache 網站新增為遠端站點,或將其配置為git儲存庫(即最好的方法)
  • 使用專為 WSL 設計的出色終端用戶端https://github.com/goreliu/wsl-terminal
  • 建立另一個使用者(預設為root
  • 如果使用 PHP7,您將需要「手動」設定它,因為預設apt儲存庫不包含它。

有用的網址:

祝你好運,如有任何具體問題,請提出,我會盡力提供協助。

答案2

我已經能夠“apt-get install apache2”並啟動服務“/etc/init.d/apache2 start”。那時,您將能夠在本機存取伺服器(從 Windows 10 盒子),如果您開啟 Windows 防火牆,則可以從其他電腦存取它。我還沒有嘗試過 mysql 或 PHP,WSL 開發人員仍在添加新的系統呼叫(偽 ttys 是只是例如,目前不支援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 開發擴充功能(我沒有嘗試過)。

祝你好運!

相關內容