#lamp #wsl-2
Вопрос:
Я настроил WSL2 с Ubuntu 20.04 и использую его для веб-разработки. На WSL2 я установил стек ЛАМП.
Я настроил несколько хостов с apache в WSL2. Пока все работает нормально. Но что меня раздражает, так это то, что мне приходится каждый день устанавливать новый IP-адрес, который я получаю для WSL, в файле hosts Windows.
Я пытался установить статический IP-адрес в Ubuntu, но я не совсем уверен, что это правильный способ и работает ли он. Я создал в /etc/netplan
папке файл с IP-адресом. В основном я следовал этому совету. Я установил IP-адрес, но при этом получаю сообщение об ошибке sudo netplan apply
.
Я также попробовал этот подход и написал сценарий PowerShell. Но я не знаю, как это должно установить IP-адрес.
Я был бы рад и благодарен за любые предложения.
Ответ №1:
Вам действительно нужен IP-адрес для вашего варианта использования?
В WSL2 есть функция под названием localhostForwarding, которая должна быть включена по умолчанию. Это должно позволить вам напрямую обращаться к службам, работающим внутри экземпляра WSL2, просто используя localhost
Windows.
Если в WSL больше ничего не запущено, попробуйте выполнить следующее из оболочки:
python3 -m http.server 8088
И посмотрите, можете ли вы получить доступ к нему из своего браузера Windows по адресу localhost:8088
.
Если это не сработает, возможно, вы столкнулись с ошибкой WSL, из-за которой защита локального хоста прерывается при переходе в спящий режим или при включении быстрого запуска в Windows (по умолчанию). Если это так, попробуйте выполнить следующее в PowerShell:
wsl --shutdown
Затем перезагрузите компьютер и повторите попытку.
Затем в вашем C:WindowsSystem32driversetchosts
, установите имена хостов на 127.0.0.1
и ::1
.
Комментарии:
1. Большое спасибо. Это решило проблему. Мне просто нужно добавить»:: 1″ в файл Windows /etc/hosts.
2. @GunnarPolte Спасибо — Хороший аргумент .
::1
Я отредактирую это в ответе. Приятно слышать, что это привело вас в нужное русло.3. Если переадресация локального хоста по какой-либо причине перестает работать, см. Этот пост, который я написал для решений: abdus.dev/сообщения/исправление-wsl2-проблема с доступом к локальному хосту