@adiletmurzaliev

Web разработка в Windows под Linux?

Раньше сидел на Windows, в данный момент использую Ubuntu для веб-разработки.
В связи с ограничениями Linux, а именно:
- нет поддержки SLI Nvidia для мобильных видеокарт
- ПО на виндовсе все же лучше (Excel, Photoshop, Premiere Pro и т.п.)
- игры на ОС Windows
- личные предпочтения
решил обратно вернуться на Windows.

Проблема в том, что я сильно привык к Linux, и на моем VPS тоже стоит Ubuntu. И теперь я не знаю даже, как переехать на Windows, но при этом сохранить преимущества Linux в виде: консоли, простой настройки web-сервера и т.п.

Есть варианты использовать VirtualBox, однако, мне не совсем хочется работать во втором окне с пониженной производительностью компьютера. Слышал про Vagrant, но так и не понял, как настроить с конфигом, описанным ниже.

В общем я бы хотел иметь такую схему работы:

Windows - основная ОС. На ней будут такие программы как PhpStorm, SublimeText3, браузеры, консоль и т.д.
Ubuntu - web-сервер и другоеПО (PHP, nginx, mysql, git и т.д.), управляется консольню на Windows.
И между этими двумя ОС будут общие папки, файлы, которые редактируются на Windows.
Также должна быть возможность проводить тестирование на Behat, и как-то эмулировать поведение браузеров на Windows.

В общем, ребята, тема довольно избитая. Подскажите, пожалуйста, кто как решил такую дилемму?
  • Вопрос задан
  • 2882 просмотра
Решения вопроса 1
paulfcdd
@paulfcdd
PHP/Sf/WEB developer
Можно заюзать Докер (но как по мне не нужно, особенно если у вас 1-2 проекта), а можно использовать Linux SubSystem, который есть в Вин 10. Я пользуюсь вторым вариантом и все отлично работает
Ответ написан
Пригласить эксперта
Ответы на вопрос 5
uvelichitel
@uvelichitel
habrahabr.ru/users/uvelichitel
Ну так и держите web-сервер и другоеПО (PHP, nginx, mysql, git и т.д.), на своем VPS, заходите туда по ssh и получайте в PuTTY консольно все что вам нужно от linux. Обшая практика.
Ответ написан
@Doc44
Linux Ubuntu Subsystem в Windows 10 поддерживает консольные утилиты идеально.
Не поддерживает только GUI и то, что требует вмешательства в ядро (например, Docker).
Ответ написан
Комментировать
CityCat4
@CityCat4
//COPY01 EXEC PGM=IEBGENER
Весь линуховый софт подымаете на VPS. А чтобы были общие папки и пр. - заводите между виндой и VPS VPN.

ЗЫ: На самом деле, если бы не игры - я бы давно сделал дома такую же схему как на работе сейчас - хостом является линух, в нем KVM-виртуалка с виндой. Недостатком этого метода является уродская эмуляция видео в qemu и, как следствие полный облом с играми. Есть еще вариант пробросить видюху, но это требует поддержки железа и мозгов, как у марсианина...
Ответ написан
Комментировать
65536
@65536
Не знаю можно ли советовать такое, у меня так исторически сложилось и 7 винда держит.

Мой рецепт: ))

1. Виртуалбокс с дебианом без гуи
2. Папка с папками проектов в винде
3. Гит тоже под виндой
4. Односторонний синхронизатор, вот этот - dklab.ru/lib/dklab_realsync Папка с папками проектов мапится на папку в виртуалке, на которую смотрит вебсервер. Синхронизует мгновенно, пока переходишь из иде в браузер файл уже залит 100%. Для каждого проекта нужно прописывать список игнора для этого синхронизатора, в него попадает все самогенерящееся - кэши, логи, папка вендор, файлы композера (композер используется на стороне линукса), статика и тд. В обратную сторону приходится прокачивать вручную. Для этого приходится замапить проект в шторме на его папку в виртуалке. Двухсторонняя синхронизация невозможно никаким способом, шторм уходит в вечную переиндексацию. То же самое происходит если примонтировать папку виртуалки в винду, одно малейшее изменение вызывает переиндексацию, а по сети она замедляется раз в 50. Шаред фолдерс тоже не подходят, с ними удобно было, но тормозят адски. То что делается 100 мс, с ними может занять 2.5 сек. Какая-то проблема из-за разницы нтфс и экст4, что-то оно там налету постоянно конвертирует. Согласно интернету не излечимая. В ходе изучения проблемы все свелось к этому синхронизатору. Там на странице тоже описано почему так.

Работающая схема, но добавляет неавтоматизируемые вещи к ритуалу создания нового проекта.

А вообще думаю второй комп лучше всего решил бы эту проблему))
Ответ написан
Комментировать
compilator
@compilator
Senior Data Engineer
Добавлю свои 5 копеек.

1. "Есть варианты использовать VirtualBox, однако, мне не совсем хочется работать во втором окне с пониженной производительностью компьютера. Слышал про Vagrant, но так и не понял, как настроить с конфигом, описанным ниже."

Сравнивать Virtual Box и Vagrant - не правильно. Vagrant - это по сути "автоматизатор" подъема виртуалки. Он читает вагрант файл, качает нужный образ, запускает Virtual Box (или другой провайдер на ваше пожелание), накатывает образ и запускает ОСь. После этого выполняет sh скрипты, написанные вами-же в вагрант файле, тем самым готовя виртуалку к работе. И собсно всё. Вагрант удобен когда вам необходимо использовать одну и ту же конфигурацию на разных машинах. Вы просто посылаете вагрант файл в несколько килобайт другому человеку, вместо того чтобы шарить виртуалку. Еще есть удобство когда самому нужно часто перенакатывать новый инстанс.
Вывод: Проблему второго окна вагрант не решит. Но есть вариант, см. пункт 2.

2. У меня на работе винда десятка, проект крутится на виртуалке. Работать во втором окне мне тоже не очень доставляло, поэтому я делаю так:
- Запуск виртуалки происходит headless, тобишь в фоне.
- Между виртуалкой и хостом пошарена папка с проектом
- Для разработки я использую IDEA. У нее есть встроенный терминал. Я думаю PhpStorm должен иметь такую же фичу.
- Подключаетесь к виртуалке по ssh и вот вам щщастье )
5b5007739edea009884989.jpeg
- Гонять файлы при необходимости можно тоже через терминал и scp или поставить WinSCP.

Надеюсь, был полезен.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы