これを実行する方法はありますか? すでに起動して実行していますが、WAMP などのサービスを使用せずにローカルでビルドしたいと思っています。
私が Ubuntu サブシステムを使用したいのは、展開前にローカルで Web サイト/Web アプリケーションを構築する場所です。開発環境に使用するサーバーはすでにありますが、可能であればこれを利用したいと思います。
答え1
これは問題なく動作します。Win32 (「通常の」Windows プログラム) と WSL (Windows Subsystem for Linux) 間のネットワークは期待どおりに動作し、Win32 クライアント (Web ブラウザーなど) は問題なく WSL サーバー/リスナーに接続できます。もちろん、Win32 と WSL の両方が同じポート セットを共有する必要があるため、たとえば Win32 アプリがポート 8080 でリッスンしている場合、同時に WSL プロセスが 8080 でリッスンすることはできません。
しかし、あなたは次のような(完全に合理的な)仮定を立てていますが、残念ながらそれは間違っています。
Linux sybsystem を実行するということは、常にバックグラウンドで実行されていることを意味すると思います。
理由は分かりませんが(「リソースを節約するため」という主張があるが、これは私のコンピュータであり、私がやりたいことをするために必要なだけのリソースを使用できるし、使用するべきだ!)、Microsoft は、少なくとも 1 つのbash.exe
ウィンドウ ( C:\Windows\System32\bash.exe
WSL の のコピーを起動して接続する Win32 プログラム/bin/bash
) が開いている場合にのみ WSL が動作することを決定しました。すべてのbash.exe
ウィンドウを閉じると、WSL とその中で実行されているすべてのプロセス (デーモン (バックグラウンド プロセス) を含む) が終了します。詳細については、Windows Subsystem for Linux の概要そして「デーモン」の場合はCtrl+ です。F
bash.exe
したがって、 Linux サーバーに接続している間はウィンドウを開いたままにしておくだけで(bash.exe
再起動時など、すべてのウィンドウを閉じるとサーバーが強制終了されるため、サーバーを起動しておく必要があります)、すべてが機能するはずです。
必要に応じて、X11 サーバー (無料の Win32 サーバーもあります) をインストールし、それを実行して WSL がそれを環境DISPLAY
変数として使用するように設定し、グラフィカル Linux アプリをインストールして実行することもできます (サウンドが必要ない場合は、Firefox でも十分に動作します)。