Использование WSL в качестве сервера

Использование WSL в качестве сервера

Недавно я установил 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репозиторий по умолчанию не включает его.

Полезные ссылки:

Удачи, задавайте любые конкретные вопросы, и я помогу вам, чем смогу.

решение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(что я не пробовал).

Удачи!

Связанный контент