Недавно я установил WSL и, немного поиграв, задался вопросом о нескольких вещах... во-первых, можно ли обращаться с ним как с сервером? Например, если я хочу разместить небольшую базу данных MySQL, то, похоже, это не проблема. Но можно ли подключиться к этому экземпляру MySQL с другой машины? Как это сделать?
Могу ли я использовать эту подсистему для разработки приложений C++ для Linux из Visual Studio 2015? Как мне подключиться к «удалённой машине» — в данном случае это тот же ящик, с которого я запускаю VS2015?
Или что, если бы я запустил веб-сервер (могу ли я это сделать?) и смог бы я подключиться к этому серверу со своего компьютера с Windows 10, используя Chrome или какой-либо подобный инструмент?
решение1
Работает как машина Linux. Сейчас мы запускаем сайт LAMP, и он работает быстро. Никаких проблем с настройкой доменов.
Советы и моменты, которые следует учитывать:
- Для переадресации внешнего домена вам необходимо правильно настроить брандмауэр Windows.
- НЕ открывайте и не редактируйте подсистему из ее папки Windows. Это все испортит (по крайней мере в текущей версии)
- Если вы все еще хотите редактировать файлы в Visual Studio (или другом редакторе), просто настройте SSH-доступ к WSL (см. ссылку ниже) и добавьте свой сайт Apache как удаленный сайт или просто настройте его как репозиторий git (что является наилучшим подходом).
- Используйте этот замечательный терминальный клиент, разработанный специально для WSLhttps://github.com/goreliu/wsl-terminal
- Создать другого пользователя (по умолчанию
root
) - Если вы используете PHP7, вам придется настроить его «вручную», так как
apt
репозиторий по умолчанию не включает его.
Полезные ссылки:
- Запустить WSL без окна bash
- Настроить SSH-доступ
- WSL-Терминал
- Uber-зарядите свой wsl-терминал
- Управление пользователями в WSL
- Настройка PHP7
Удачи, задавайте любые конкретные вопросы, и я помогу вам, чем смогу.
решение2
Мне удалось выполнить "apt-get install apache2" и запустить службу "/etc/init.d/apache2 start". В этот момент вы сможете получить доступ к серверу локально (из Windows 10 box), и если вы откроете брандмауэр Windows, сможете получить к нему доступ с других машин. Я не пробовал mysql или PHP, а разработчики WSL все еще добавляют новые системные вызовы (псевдо ttys былитолькодобавлено, а timer_create в настоящее время не поддерживается, например), поэтому что-то не будет работать. Например, apache предупреждает, что не может включить APR_TCP_DEFER_ACCEPT. Однако мне удалось запустить tightvncserver, twm, firefox и xterm в WSL и подключиться к нему удаленно через VNC (весело!).
Важно отметить, что upstart или init.d не запускаются автоматически при запуске компьютера с Windows 10 с WSL, поэтому вам придется запускать службы в скрипте или вручную.
Вы можете связаться с WSL по сети или напрямую через файловый доступ. WSL может получить доступ к диску C: через /mnt/c/, а Windows 10 может получить доступ к WSL через c:\Users\%USERNAME%\AppData\Local\lxss. Чтобы записать файлы в /mnt/c, вам нужно запустить bash от имени администратора. Вы не можете запустить исполняемые файлы Windows через WSL.
WSL запускает двоичные файлы Ubuntu 14.04 ELF, поэтому я полагаю, что вам понадобитсяРасширение Visual C++ для разработки Linux(что я не пробовал).
Удачи!