При настройке локальной среды разработки с использованием WSL2 и Nginx часто возникает проблема: браузер показывает ошибку ERR_EMPTY_RESPONSE при попытке доступа к локальным сайтам. В этой статье мы разберем причины возникновения проблемы и предоставим пошаговое решение.
Причина проблемы
Проблема возникает из-за особенностей архитектуры WSL2:
WSL2 работает как полноценная виртуальная машина
Имеет собственный IP-адрес в виртуальной сети
Windows и WSL2 находятся в разных сетевых пространствах
Прямой доступ к localhost WSL2 из Windows невозможен
ERR_EMPTY_RESPONSE возникала потому что:
Браузер в Windows пытался получить доступ к localhost (127.0.0.1)
Но Nginx в WSL2 работал на другом IP-адресе (в виртуальной сети WSL2)
# Установка WSL
wsl --install
# Просмотр списка доступных дистрибутивов Linux
wsl --list --online
# или
wsl -l -o
# Установка конкретного дистрибутива
wsl --install -d <DistroName>
# Просмотр установленных дистрибутивов
wsl --list
# или
wsl -l
# Просмотр всех дистрибутивов (включая WSL версию)
wsl --list --verbose
# или
wsl -l -v
# Установка версии WSL для конкретного дистрибутива
wsl --set-version <DistroName> <Version>
# Установка версии WSL по умолчанию
wsl --set-default-version <Version>
Импорт/Экспорт
# Экспорт дистрибутива в tar-файл
wsl --export <DistroName> <FileName.tar>
# Импорт дистрибутива из tar-файла
wsl --import <DistroName> <InstallLocation> <FileName.tar>
Скачивать видео мы будем при помощи программы из этого репозитория: https://github.com/yt-dlp/yt-dlp — это форк популярного проекта youtube-dl и на сегодняшний день это активно развивающийся open-source проект. Его можно использовать совершенно бесплатно.
Скачиваем ролики из Windows 11
Шаг 1: Загрузите релиз для ОС Windows на свой компьютер
Откройте официальный сайт проекта и в разделе который касается УСТАНОВКИ программы, кликните по версии релиза для операционной системы Windows
и сохраните файл в любое место на вашем компьютере (P.S. главное чтобы Вы его смогли потом отыскать)
Шаг 2: Скачайте зависимости для работы программы
Далее, необходимо скачать зависимости (дополнительные программы), которые обеспечат правильную работу основной программы.
Следуем вот к этому разделу «DEPENDENCIES» и кликаем по любой ссылке из примера
После этого мы будем перемещены в специальный раздел, где нам необходимо скачать на компьютер файл с зависимостями (желательно в тоже место, куда и основную программу yt-dlp.exe)
Осуществляем загрузку по клику на кнопочку :
В данной статье мы рассматриваем пример для 64-разрядной версия Windows. В подавляющем большинстве случаев вероятнее всего у вас будет именно эта версия. Но если что-то пошло не так или есть сомнения, то можно всегда проверить и убедиться в этом.
Любой программой которой вы пользуетесь для этой цели или стандартными средствами Windows
Содержимое внутри извлечённой папки «ffmpeg-master-latest-win64-gpl» будет следующим:
Нас интересует содержимое папки «bin«, именно это и есть зависимости для правильной работы основной программы:
Шаг 4: Создайте отдельную папку и перенесите в неё файлы которые вы загрузили
Это необходимо сделать для удобства.
Я создал папку с названием «YT» и перенёс в неё файлы из папки bin и основной файл программы, итоге у меня получилось:
Далее, для удобства я перенёс эту папку в папку Видео, чтобы видео-ролики были для простоты навигации и логичности в соответствующем разделе.
Подготовительный этап позади. Теперь рассмотрим непосредственно работу в программе.
Как скачивать видео через yt-dlp?
Быстрое скачивание одиночного ролика
Шаг 1: Запуск программы
По привычке, пользователи ОС Windows могут быть искушены сделать двойной клик по приложению, чтобы запустить программу. И скорее всего увидят предупреждение от ОС:
Если всё равно продолжить запуск, то он увенчается неудачей. В консоли мы получим уведомление, о том, что запуск программы и её работа осуществляются иначе.
На самой верхней строке можно увидеть, как использовать программу. Нужно из консоли (терминала) обратиться к этому файлу и передать в него ссылку на видео.
Первый способ
Для этого в папке с программой, или любом другом месте, где у вас находится файл yt-dlp.exe, нажмите правой кнопкой мыши, для того чтобы вызвать контекстное меню
Затем нажмите Открыть в Терминале.
Второй способ
В адресной строке текущей папки напишите cmd и нажмите Enter
Откроется терминал. Проверьте правильность пути. Он должен вести в ту папку в которой вы его запускали и в которой находятся ваш файл программы и программки-зависмости.
Убедиться в этом можно при помощи команды DIR
Содержимое текущей директории должно быть с этими файлами.
Может сработать аналогичная UNIX-команда ls Результат отображение будет такой же:
Шаг 2: Откройте на платформе YouTube понравившийся ролик
Скопируйте ссылку ролика для скачивания.
Шаг 3: Обратитесь к основному файлу программы
Теперь необходимо в терминале прописать название нашего основного файла и передать через пробел ему скопированную ссылку.
Возможная ошибка при запуске
Suggestion [3,General]: Команда yt-dlp.exe не найдена, однако существует в текущем расположении. По умолчанию оболочка Windows PowerShell не загружает команды из текущего расположения. Если вы уверены в надежности команды, введите «.\yt-dlp.exe». Для получения дополнительных сведений вызовите справку с помощью команды «get-help about_Command_Precedence».
«Точка» и «Обратный слэш» это говорит терминалу, о том, что обращаемся мы к файлу в текущей директории, т.е. в той в которой находимся в данный момент.
Вот реальный пример правильного запуска программы:
Если всё прошло правильно, то в этой же папке с программой, у вас должен оказаться загружаемый ролик 🙂
Как скачать весь плейлист с YouTube?
Загрузка всего плэйлиста происходит аналогично одиночному видео, то есть принцип действия лежит такой же.
Необходимо найти нужный плэйлист:
Кликнуть на него и скопировать ссылку всего плэйлиста:
Вставить через пробел в терминал (по аналогии с одиночным видео)
Ниже мы видим, что в плэйлисте программа обнаружила 31 видео и начала загрузку…
Ниже скриншот иллюстрирует загрузку уже 10-го видео из 31-го…
Внимание! В процессе работы могут быть обрывы соединения или возникает какие то ошибки другого характера и в итоге может случиться так, что некоторые ролики будут загружены не полностью.
Ниже пример того, что некоторые ролики загрузились неполностью. Об этом сигнализирует белый файлик неопределённого типа.
В этом случае, нужно повторить загрузку! Успешно загруженные ролики будут пропущены, а завершённые с ошибкой догрузятся.
На примере ниже видно, что несколько видео было пропущено, так как они есть уже на нашем диске, а ролик номер 5 стал догружаться.
В итоге у нас загрузился весь плейлист:
Рекомендация. Для удобство можно сделать отдельную папку и переместить загруженные видео по смыслу туда:
Как использовать параметры?
Если взглянуть на схему использования данной программы, то можно заметить, что перед URL (ссылка на видео) мы можем , также через пробел, ещё указывать передавать параметры (настройки) программе.
yt-dlp [OPTIONS] [--] URL [URL...]
Например, чтобы загрузить все миниатюры к видео нам необходимо передать в программу специальную опцию --write-all-thumbnails или одну миниатюру —-write-thumbnail Это послужит предписанием для программы сохранить все форматы миниатюр (или один) на ваш диск.
BitLocker — это функция безопасности Windows, которая обеспечивает шифрование для целых томов, устраняя угрозы кражи или раскрытия данных с потерянных, украденных или неправильно списанных устройств.
Чтобы задействовать BitLocker необходимо нажать правой кнопочкой мышки на нужном диске и включить функцию
Но может случиться так, что BitLocker при включении закапризничает и выдаст ошибку
В этом случае, для успешного включения необходимо сделать дополнительную настройку.
Шаг 1
Нажмите клавиши Win+R на клавиатуре, введите gpedit.msc и нажмите Enter.
откроется вот такое окно редактора групповых политик Windows
Шаг 2
Перейдите к разделу по следующему пути: Конфигурация компьютера — Административные шаблоны — Компоненты Windows — Шифрование диска BitLocker — Диски операционной системы.
Далее, в правой части окна найдите параметр «Этот параметр политики позволяет настроить требование дополнительной проверки подлинности при запуске» и дважды кликните по нему мышью.
Этот параметр политики позволяет указать, требует ли BitLocker дополнительной проверки подлинности при каждом запуске компьютера, а также используется ли BitLocker в сочетании с доверенным платформенным модулем или без него.
Если вы хотите использовать BitLocker на компьютере без доверенного платформенного модуля, установите флажок «Разрешить использование BitLocker без совместимого доверенного платформенного модуля». В этом режиме для запуска необходим либо пароль, либо USB-накопитель. При использовании ключа запуска ключевые сведения, применяемые для шифрования диска, хранятся на USB-накопителе, образуя USB-ключ. При установке USB-ключа проверяются права на доступ к диску, и диск становится доступным. Если USB-ключ потерян или недоступен или вы забыли пароль, вам придется воспользоваться одним из параметров восстановления BitLocker, чтобы получить доступ к диску.
Шаг 3
Повторите включение шифрования и выберите метод подтверждения: или при помощи пароля, или при помощи ключа сохранённого на USB-устройство
есть возможность сохранения ключа в учетную запись Майкрософт или даже его печать 🙂
далее указываем какую часть диска требуется зашифровать. Выбираю весь диск.
режим шифрования
и перезагружаем компьютер …
После перезагрузки повторим клик по нашему диску
Видим, что название сменилось на новое слово Управление.
При переходе по этой ссылки мы видим состояние наших дисков. Выбранный ранее диск зашифрован и работает в режиме BitLocker
С Главной страницы сайта путь до загрузки будет следующий:
далее
для стабильной работы и совместимости рекомендуется загружать версию LTS (Long term support) т.е. версия с долгосрочной поддержкой от разработчиков.
Шаг 2. Откройте командную оболочку Windows
Не знаете как запустить командную строку (cmd) в Windows? Очень просто!
Вариант 1
Нажмите сочетания клавиш Win + R
В открывшемся окне Выполнить напишите cmd и нажмите кнопку OK
Перед Вами откроется примерно вот такое окно, куда мы и будем вносить команды по созданию нашего загрузочного USB-носителя.
Вариант 2. Через Поиск
Второй универсальный метод заключается в поиске через глобальный поиск Windows. Например, в версии Windows 11 можно нажать на иконку поиск или сразу воспользоваться поиском через меню Пуск
Шаг 3. Вставьте USB-устройство флэш-памяти в работающий компьютер или ноутбук
Убедитесь, что оно появилось в системе, например, это можно увидеть в разделе Мой компьютер. Чтобы убедиться, Вы можете при открытом окне Мой компьютер вынуть и снова вставить в разъем USB ваш носитель. Естественно, он должен снова отобразиться
Шаг 4. Работа в командной строке
Далее, нам предстоит выполнить последовательность команд, которые и создадут загрузочный носитель с операционной системой Ubuntu
Введите первую команду diskpart
Далее подтвердите действие и перед вами должно появиться вот такое рабочее окно утилиты DISKPART — помогает управлять дисками компьютера (дисками, секциями, томами или виртуальными жесткими дисками).
В открывшемся новом окне командной строки введите list disk
Внимание! Постарайтесь точно определить, например, по объему, нужный диск
В моём случае это диск с объемом в 7 Гб (7651 Мб).
В командной строке введите select disk «X» , где X — номер диска или буквы диска USB-устройства флэш-памяти, а затем нажмите клавишу ENTER.
В моём случае это цифра 3.
Введите clean и нажмите клавишу ENTER. Эта команда удаляет все данные с USB-устройства флэш-памяти.
Далее создадим новый основной раздел на USB-устройстве флэш-памяти, для этого введите create partition primary, и нажмите клавишу ENTER.
Чтобы выбрать созданный раздел, введите select partition 1 и нажмите клавишу ENTER.
Далее, отформатируем раздел. Для этого введите format fs=ntfs quick и нажмите клавишу ENTER.
Если серверная платформа поддерживает Единый интерфейс EFI (UEFI), следует отформатировать USB-устройство флэш-памяти в файловой системе FAT32, а в NTFS. Чтобы отформатировать раздел в файловой системе FAT32, введите format fs=fat32 quickи нажмите клавишу ENTER.
И финальным действием нужно пометить раздел как активный, для этого введите active и нажмите клавишу ENTER.
Отлично! Подготовка будущего установочного накопителя прошла успешно! Можно завершить работу с DISKPART набрав exit и нажав ENTER.
Теперь нам необходимо скопировать файлы из образа (который мы скачали) на подготовленный носитель.
Шаг 5. Скопируйте все файлы на подготовленный носитель
Сперва мы должны смонтировать образ который скачали. Нажимаем на нём правой кнопочкой мышки и затем Подключаем (монтируем)
Откроется окно с файлами этого скаченного образа Ubuntu
Ну а в знакомом для многих пользователей разделе Мой компьютер будет находится в виртуальном дисководе ваш подключенный носитель с Ubuntu
Тут главное не запутаться в дисках. Будьте внимательны.
Копирование мы будем осуществлять в командной строке, напомню что ранее мы закрыли окно DISKPART и вернулись к командной строке (cmd)
Попробуйте там ввести robocopy, если всё идёт правильно, то вы непременно должны увидеть вот такое окно
Robocopy(от англ. Robust File Copy) — утилита командной строки которая копирует данные файлов и папок из одного расположения в другое.
Отлично. Теперь внимательно взгляните на ваши диски, вернее на их буквы и точно поймите что куда вы будете копировать.
В моём случае это из носителя с назначенной буквой G в носитель с буквой E. Ещё раз, G: — подключенный ISO-файл c Ubuntu, а E: — это устройство флэш-памяти).
/s — копирует вложенные каталоги. Этот параметр автоматически исключает пустые каталоги.
robocopy G: E: /s
копирование успешно запушено. Теперь можно пойти попить кофе 🙂
Копирование завершено. Наш установочный носитель с Убунту готов! Теперь осталось сделать перезагрузку системы и загрузиться с нашего носителя. Но это уже совершенно другая история 🙂
Для установки в операционную систему Windows необходимо со страницы Загрузки официального сайта скачать и запустить установочный файл.
Учтите, что для успешной установки необходим исполняемый файл интерпретатора PHP. Для этого необходимо перейти на страницу загрузки для PHP и скачать файл нужной вам сборки.
Разархивируйте файлы сборки PHP в том место где вы сможете их потом найти 🙂 Вот мой пример:
Убедитесь, что внутри среди файлов есть php.exe
Теперь можно запустить установочный файл Composer и пройти интуитивно понятные шаги установки:
Далее будьте внимательны! Здесь необходимо указать путь к вашему файлу php.exe и затем продолжить установку.
Отметьте чекбокс для добавления в переменную среды PATH, чтобы вы могли просто вызывать Composer при помощи команды composerиз любого места в операционной системе, из любой папки.
Готово!
Проверка
Если всё прошло успешно, то введя команду composer в терминале редактора кода или просто в командной строке (оболочке), вы должны непременно увидеть следующее: