こぼれネット

WSLでWebサーバ(テスト)を立ち上げる方法

WSLでWebサーバ(テスト)を立ち上げる方法

前提: wslにはUbuntuが入っていて、emacsなどもすでに入っている

(1)スタートメニューで Ubuntu を検索 → 起動すれば、確実にUbuntuが立ち上がります。

(2)デフォルトディレクトリは、/home/ebata で、Windowsからこの場所を見るには、\\wsl$\Ubuntu\home\ebata にアクセス(エクスプローラー)

(3)make my_web_project して、cd my_web_projectして、emacsで、index.htmlを作る。
こんな感じindex.htmlを作っておく。

<!DOCTYPE html>
<html lang="ja">
<head>
  <meta charset="UTF-8">
  <title>WSL Webサーバ テストページ</title>
</head>
<body>
  <h1>ようこそ!</h1>
  <p>これは WSL 上で動作している Web サーバから配信されたページです。</p>
  <p>このページは <code>index.html</code> です。</p>
</body>
</html>

(4)ebata@DESKTOP-1QS7OI7:~/my_web_project$ python3 -m http.server 8888 でサーバを立ち上げる

(5)これで、ローカルから、http://localhost:8888/ でアクセスできる。

(6)ところが、リモートから、http://192.168.0.3:8888/ ではアクセスできない

(7)そこで、方法①(推奨)Windows側でポートフォワーディングを設定
Windows PowerShell を 管理者として実行して以下を実行:
netsh interface portproxy add v4tov4 listenport=8888 listenaddress=0.0.0.0 connectport=8888 connectaddress=127.0.0.1

さらに Windowsファイアウォールでポート 8888 を許可してください:
New-NetFirewallRule -DisplayName "AllowPort8888" -Direction Inbound -LocalPort 8888 -Protocol TCP -Action Allow

(8)これで、リモートから、http://192.168.0.3:8888/ ではアクセスできるようになる

モバイルバージョンを終了