wnmp-dev: nginx, MariaDB, PHP под Windows
16 июля 2014
Решил выложить то, что собрал себе вместо denwer для работы с PHP под Windows. Нынче популярны всякие Vagrant, но иногда, особенно если пишется кросс-платформенное решение вроде Yii, нужен и Windows в том числе.
Итак, wnmp-dev — простейший набор bat-скриптов и конфиг для nginx, которые позволяют развернуть полноценный вебсервер под Windows и легко переключаться между разными версиями PHP.
Как поставить:
- Клонируем
https://github.com/samdark/wnmp-dev.git
или загружаем архивом. - Забираем нужные версии PHP с сайта PHP for Windows. Берите
nts
,x86
zip. - Распаковываем архив. Версия 5.5 должна оказаться в php55, версия 5.4 в php54.
- Забираем MariaDB или MySQL, складываем в
mariadb
. - Копируем
nginx/conf/vhosts/example._conf
вnginx/conf/vhosts/mysite.conf
, редактируем так, чтобы конфиг указывал на ваш вебрут. - Добавляем домен из конфига в hosts.
- Запускаем
start_all.bat
- Работаем.
Предложения, пожелания и вопросы принимаются, ридми будет уточняться.
Комментарии RSS по email OK
Скажите, почему не использовать тот же Open Server? Сразу несколько версий PHP, все ключевые базы данных, в том числе MySQL/MariaDB/PostrgeSQL, и nginx, и apache, и mongo, и memcached.
Андрей, там слишком много намешано в кучу: по много версий apache, nginx и всего остального. Сразу и MariaDB и MySQL в нескольких версиях. Потом GUI, который отвлекает от конфигов, которые надо знать, ведь на сервере всё равно они. Ну и обновить и настроить всё это неизвестно как.
А еще создатель хамоватый : ) /offtop
OMG, давно уже есть www.x64architecture.com/windows-nginx-mysql-phpwnmp/ правда в итоге отказался от идеи юзать nginx в девелоп целях под виндой. Для примера попробуйте запустить под виндой медиаВики, загрузка страницы будет 1сек где-то, т.к. многое отдается через скрипт, а под виндой nginx не работает с запросами в паралели. Можно собрать его c cygwin, как и php и mariadb, но вот xdebug собираться не в какую не хотел, поэтому виртуалки наше все :)
verysimplenick, nginx параллельные запросы обрабатывает нормально. Просто нужно запустить несколько php-cgi и настроить upstream. Надо будет в сделать и выложить.
verysimplenick, попробовал, не вышло нормально.
php-cgi
крешится даже вts
варианте по поводу и без + XDebug теряет процесс. Добавил в readme примечание на тему.Да я ж не просто так написал. Можно под msys + mingw скомпилить php + nginx, а mariadb юзать из коробки под винду, но в таком случае у меня не получалось собрать и подключить xdebug, а без него смысла нет держать такой зоопарк. В итоге сделал virtualbox машину с ubuntu server c shared папкой на /www. Получилось удобно, т.к. запускать vbox можно без всяких окон. Удобно что в девелопе, что в продакшене линукс, с одними параметрами компиляции php\nginx\mariadb так что вот такой опыт. :)
Получаю вот такое: ERROR: The process "php-cgi.exe" not found. Started PHP php53 FastCGI on port 9000. Started nginx. Started MariaDB.
Страничка не работает. Вот эту нормально ERROR: The process "php-cgi.exe" not found?
После проделанного перестал запускаться установленный до этого Apache.
Cтепан, это нормально. При старте bat-ник убивает существующие процессы php-fpm. Если их нет, убивать нечего. Apache перестал запускаться потому как 80-й порт занят. После
stop_all.bat
должен завестись нормально. Страничка не работает скорее всего потому как конфиг для хоста nginx не сделали.Apache не работал по моей вине, и mysite.conf промазал не туда положил. Но еще надо было создать папку \nginx\temp Без нее получал nginx: [emerg] CreateDirectory() "...\nginx/temp/client_body_temp " failed (3: The system cannot find the path specified)
Как на счет добавить возможность использовать Apache вместо nginx? Или сделать отдельно такую же сборку с Apache?
Добавил пустые директории.
О возможности использовать Apache подумаю.
Apache + 1 На многих виртуальных хостингах именно они и стоят...
Денвер (там апач) - ужас как устарел, php5.3... привет молодость.. и никаких подвижек( т.е. Yii 2 на него уже из коробки не поставить
Может идея: На сайте yiiframework.com в разделе downloads поместить ссылки на рекомендуемые "сборки" веб-серверов...
а почему не юзаете php-fpm под windows? работает сносно да и с потоками проблем нет
Кто-нибудь пробовал dev-tools.ru/nws.htm ? Вроде как nginx и php-fpm
использую apache2+php56(из zendserver с их дебагером)+(mysql/mariadb)
nginx был но только как обратный proxy
Все лежит на отдельном разделе диска.
Всё это добро пережило десяток переустановок винды. Сервисы устанавливаются несколькими батниками за секунды.
Изредка проверяю обновление версии zend server, для обновления PHP. Сейчас жду дебагер для php7