@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.

В общем, ребята, тема довольно избитая. Подскажите, пожалуйста, кто как решил такую дилемму?
  • Вопрос задан
  • 2879 просмотров
Решения вопроса 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
Внимание! Изменился адрес почты!
Весь линуховый софт подымаете на 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.

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

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

Войти через центр авторизации
Похожие вопросы
Искра Екатеринбург
от 80 000 до 100 000 ₽
Art gorka Санкт-Петербург
от 60 000 ₽
от 40 000 до 60 000 ₽
19 апр. 2024, в 23:00
5000 руб./за проект
19 апр. 2024, в 20:43
20000 руб./за проект