web-dev-qa-db-ja.com

WSLをサーバーとして使用する

私は最近WSLをインストールしましたが、少し遊んだ後、いくつかのことについて疑問に思いました...まず、それをサーバーとして扱うことは可能ですか?たとえば、小さなmysql dbをホストしたい場合、問題はないようです。しかし、別のマシンからそのmysqlインスタンスに接続することは可能ですか?どうすればいいですか?

このサブシステムをターゲットにして、Visual Studio 2015からLinux用のC++アプリケーションを開発できますか? 「リモートマシン」に接続するにはどうすればよいですか-この場合、VS2015を実行しているのと同じボックスです。

または、Webサーバーを実行していて(できますか?)、chromeまたはそのようなツールを使用して、Windows 10マシンからそのサーバーに接続できますか?

7
Nicros

Linuxマシンと同じように動作します。私たちは現在LAMPサイトを運営しており、それは簡単です。ドメインの設定にも問題はありません。

考慮すべきヒントとこと:

  • 外部ドメインを転送するには、Windowsファイアウォールを適切に設定する必要があります。
  • Windowsフォルダからサブシステムにアクセスしたり編集したりしないでください。それは(少なくとも現在のイテレーションで)ものを台無しにするでしょう
  • Visual Studio(またはその他のエディター)でファイルを編集したい場合は、WSLへのSSHアクセスをセットアップし(下記のリンクを参照)、Apacheサイトをリモートサイトとして追加するか、gitレポとして構成します(これは最善のアプローチ)
  • WSL専用に設計されたこの素晴らしいターミナルクライアントを使用してください https://github.com/goreliu/wsl-terminal
  • 別のユーザーを作成(デフォルトはroot
  • PHP7を使用する場合は、デフォルトのaptリポジトリに含まれていないため、「手動」で設定する必要があります。

便利なリンク:

頑張って、具体的な質問を投稿してください。できる限りお手伝いします。

3
megamaiku

「apt-get install Apache2」でサービス「/etc/init.d/Apache2 start」を開始できました。その時点で、サーバーにローカルで(Windows 10ボックスから)アクセスできるようになります。Windowsファイアウォールを開くと、他のマシンからサーバーにアクセスできます。私はmysqlまたはPHPを試していませんが、WSL開発者はまだ新しいシステムコールを追加しています(疑似ttyが追加されましたjust、およびtimer_createは現在サポートされていません例)なので、何かが機能しません。たとえば、ApacheはAPR_TCP_DEFER_ACCEPTを有効にできないことを警告します。ただし、WSL内でtightvncserver、twm、firefox、xtermを実行し、VNCからリモートで接続することができました(fun!)。

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拡張機能 (これは試していません)が必要になると思います。

幸運を!

3