Php nginx mariadb windows

Php nginx mariadb windows

Решил выложить то, что собрал себе вместо denwer для работы с PHP под Windows. Нынче популярны всякие Vagrant, но иногда, особенно если пишется кросс-платформенное решение вроде Yii, нужен и Windows в том числе.

Итак, wnmp-dev — простейший набор bat-скриптов и конфиг для nginx, которые позволяют развернуть полноценный вебсервер под Windows и легко переключаться между разными версиями PHP.

  1. Клонируем https://github.com/samdark/wnmp-dev.git или загружаем архивом.
  2. Забираем нужные версии PHP с сайта PHP for Windows. Берите nts , x86 zip.
  3. Распаковываем архив. Версия 5.5 должна оказаться в php55, версия 5.4 в php54.
  4. Забираем MariaDB или MySQL, складываем в mariadb .
  5. Копируем nginx/conf/vhosts/example._conf в nginx/conf/vhosts/mysite.conf , редактируем так, чтобы конфиг указывал на ваш вебрут.
  6. Добавляем домен из конфига в hosts.
  7. Запускаем start_all.bat
  8. Работаем.

Предложения, пожелания и вопросы принимаются, ридми будет уточняться.

Комментарии 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?

  • в папке nginx нужно сделать папку logs, тоже ругалось 🙂

После проделанного перестал запускаться установленный до этого Apache.

Cтепан, это нормально. При старте bat-ник убивает существующие процессы php-fpm. Если их нет, убивать нечего. Apache перестал запускаться потому как 80-й порт занят. После stop_all.bat должен завестись нормально. Страничка не работает скорее всего потому как конфиг для хоста nginx не сделали.

Читайте также:  Есть autocad для linux

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

Установка сервера LEMP (Nginx, MariaDB, PHP)

Стек LEMP включает пакеты Nginx (Engine X), MySQL/MariaDB и PHP/Python, установленные в системе Linux и настроенные для совместной работы в качестве системы хостинга веб-сайтов, приложений или выполнения других функций. В данном руководстве мы рассмотрим установку стека LEMP на примере Ubuntu 18.04.

Для запуска рассмотренных команд потребуется доступ к серверу по SSH и root-привилегии (или использование команды sudo).

Установка веб-сервера Nginx

Обновите программные пакеты и установите Nginx при помощи менеджера пакетов apt-get. Nginx — быстрый, производительный и простой в настройке веб-сервер с открытым исходным кодом, поддерживающий функции балансировки нагрузки и обратного прокси.

После установки служба ngnix должна автоматически запуститься. Также должен включиться ее запуск при загрузке. Проверить состояние службы можно следующей командой:

При необходимости вручную запустить службу и активировать ее автоматический запуск при загрузке нужно выполнить следующие команды:

Если в вашей системе есть брандмауэр, нужно открыть порты 80 (HTTP) и 443 (HTTPS), чтобы разрешить клиентам запросы на веб-сервер, а затем перезагрузить брандмауэр, например:

Для проверки правильности работы ngnix нужно ввести в строке браузера имя или адрес вашего веб-сервера:

Если установка была выполнена правильно, вы увидите тестовую страницу Nginx:

Установка MariaDB

Для установки системы управления базами данных MariaDB (разрабатываемая сообществом ветвь MySQL) выполните команду:

Служба должна автоматически запуститься после установки. Это можно проверить следующей командой (если она не запущена, нужно аналогично предыдущему разделу запустить ее и активировать автоматический запуск при загрузке):

Теперь нужно обеспечить минимальную безопасность базы данных при помощи специального скрипта (входит в комплект установки):

Дайте ответ y (yes, да) на следующие вопросы, а также задайте пароль для пользователя root:

Установка PHP

PHP — популярный скриптовый язык, используемый для создания динамического содержимого веб-сайтов. Все необходимые для веб-разработки модули PHP можно установить следующей командой (версия по умолчанию для репозиториев Ubuntu — PHP 7.2)

После установки PHP служба PHP7.2-FPM (реализация FastCGI сервера) также должна запуститься автоматически. Это можно проверить следующей командой:

Теперь нужно настроить PHP-FPM для правильного представления PHP-приложений или сайтов. Параметры конфигурации находятся в файле /etc/php/7.2/fpm/php.ini. Откройте его любым текстовым редактором:

Найдите строку ;cgi.fix_pathinfo=1 и замените ее на cgi.fix_pathinfo=0, чтобы при работе PHP рассматривал только указанный в явном виде путь и прекращал обработку, если файл не найден.

Читайте также:  Узнать пароль за звездочками windows

Затем в разделе серверного блока по умолчанию файла конфигурации сервера Nginx (/etc/nginx/sites-available/default) настройте обработку PHP-скриптов при помощи PHP-FPM:

Чтобы передавать PHP-скрипты серверу FastCGI, раскомментируйте следующий раздел:

После внесения изменений перезапустите службы nginx и php7.2-fpm, чтобы они вступили в силу:

Теперь можно проверить правильность настройки PHP, создав в корне документов вашего сервера простую страничку info.php. Для этого требуется всего одна команда:

Затем откройте веб-бразуер и введите любой из следующих адресов, чтобы увидеть информационную страницу PHP.

Заключение

Мы рассмотрели установку стека LEMP. Данный набор является платформой, на которую могут устанавливаться веб-сайты и веб-приложения. Для более подробной информации обратитесь к соответствующим man-страницам.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Php nginx mariadb windows

Download WinNMP Installer —
Latest Version: 20.11 (updated )

WinNMP — Nginx MariaDB MongoDB Redis Php 7 development stack for Windows

A lightweight, fast and stable server stack for developing php mysql applications on windows, based on the excellent webserver Nginx. A lighter alternative to XAMPP and WAMP, with Composer, Adminer, LetsEncrypt certificates, WinSCP, wp-cli, multiple PHP versions, projects and virtual servers.

Unlike other development stacks, WinNMP doesn’t require any aditional software, it includes all runtime libraries. It works out-of-the-box and it is safe to install it over a previous version, or in a folder with spaces or special characters. You can even move it after instalation and it will still work. And most importantly, it dosen’t waste your time!

Current Package contains:

  • Nginx 1.19.5 web server
  • MariaDB 10.4.17 database server, mysql 5.5.5 replacement (32/64bit)
  • MongoDB 4.2.11 document-based database (64bit)
  • Redis 5.0 Cache/NoSql, memcached alternative (64bit)
  • Php 5.6.40 & PHP 7.2.34 & PHP 7.3.25 & PHP 7.4.13 scripting language (32/64bit)
  • XDebug, GeoIP, Gender, Mongodb PHP Extensions
  • WinSCP SFTP client
  • HTTPS using free LetsEncrypt certificates
  • Composer dependency manager for php
  • WP-CLI command-line interface for WordPress
  • Adminer web based database manager
  • Reg.php regular expressions tester
  • WinNMP Manager (32/64bit), formerly known as WTServer

Features:

  • Easy to upgrade! Backups, configuration files, database data, included libraries and projects are persistent during upgrades (not overwritten)
  • A single installer for both x86 and x64 systems, with 32bit and 64bit versions of MariaDB, PHP and WinNMP Manager
  • Lightning-fast web server. Optimized for best performance
  • Tools: mysql client, php console, composer, acmePhp, hostsEditor, putty, mailToDisk
  • PORTABLE: you can move it to a different location, configuration files are updated automatically
  • For easy access, all configuration files are stored in one place: WinNMP\conf and all log files are stored in one folder: WinNMP\log
  • Multiple PHP Versions and version switcher. Dynamic number of php-cgi processes
  • The server manager runs minimized in the system tray and monitors, logs and restarts crashed servers, just like php-fpm on Linux
  • Project setup, Local Virtual Servers for projects, Upload, Sync and Browse with WinSCP
  • Optional database daily backups can be enabled with —backup. Up to 7 backup files will be created per database per weekday

Installing & Upgrading:

  • Download and execute the latest installer. The installer produces a portable folder.
  • The same installer can be re-run later to download and update your stack with the latest MariaDB, Mongo or PHP version.
  • Any previous projects, settings, databases and PHP extensions will NOT be lost or deleted during upgrades/updates.
  • It is safe to choose any destination folder as long as it is publicly accessible, if you don’t like C:\WinNMP
Читайте также:  Linux ожидание завершения процесса

Getting Started:

  • Start WinNMP
  • Look in the taskbar for the WinNMP icon:
  • Press Options and check Start WinNMP with Windows
  • Type in your browser http://localhost
  • Read WinNMP Basic Usage — Getting Started
  • The default MariaDb(MySql) host is localhost with username root and no password.
  • The default Redis host is localhost port 6379
  • Read our tutorials on How to install Joomla, Magento 2 or WordPress on Windows

About WinNMP:

  • WinNMP stands for Windows Nginx MariaDB/MongoDB PHP (solution stack)
  • WinNMP was previously known as WTServer (for 2 years) and WT-NMP for (3 years).

Portability:

WinNMP is portable. After installing it, you can safely copy or move the WinNMP folder without loosing any data, projects, databases or settings. The configuration files are updated automatically. You can even copy and run it from a flash drive. It is recommended but not required that you run the installer once on each new machine:

  • The installer fixes some windows networking issues that will make Nginx super fast and also allows faster connections to the Mysql server. Also installs Visual C++ Redistributable
  • The installer registers php, mysql, mongo, redis and composer executables to PATH. If you move WinNMP, those executables won’t be available globally anymore, unless you open the command prompt from within WinNMP

WinNMP Manager command line arguments:

example shortcut: D:/Work/bin/WinNMP.exe —debug —backup —phpCgiServers=2

  • -d —debug Display debug messages
  • -e —editor=»notepad.exe» Path to editor to be used to edit configuration files
  • -s —startServers Starts all the servers in background and minimizes to systray
  • -k —killAll Kills all running servers and exits
  • -b —backup Forces automatic daily backups
  • -l —latestPhp Forces the use of the latest PHP version
  • -p=n —phpCgiServers=n Forces the number of PHP-CGI Servers, between 1 and 99
  • -j —hideProjects Hides Projects list at startup
  • -n —noUpdates Disables weekly Update checks
  • -w —wwwDir=»c:\Dir» Custom WWW folder path for projects
  • —exposeDbs BindIp and DbPath in DBs config files will no longer be ignored

Issues:

  • Nginx: One of the reasons Nginx is so fast, it`s because it does not process .htaccess files. Therefore URL Rewriting and User Access must be set in nginx.conf.
  • MariaDb: If your access to MariaDB is denied or if the privileges table mysql.user is corrupt, delete the file c:\WinNMP\bin\mysql.bat and restart WinNMP
  • Redis is available only on 64bit systems
  • PHP is configured in a very restrictive way, like on most hosting providers. Comment out disable_functions , disable_classes , open_basedir in conf/php.ini, if you need a more permissive PHP configuration.
  • PHP Extensions: most of them are disabled by default, enable them in conf/php.ini (see src/defaults/php.ini for opcache, xdebug, xcache)
  • PHP MySql extension is disabled by default and is deprecated as of PHP 5.5.0, and will be removed in the future. Instead, the MySQLi or PDO_MySQL extension should be used. If you really want to enable mysql extension, add or uncomment in conf/php.ini: extension = php_mysql.dll
  • PHP: Starting only one PHP-CGI server with WinNMP.exe —phpCgiServers=1 will result in slow ajax requests since Nginx will not be able to process PHP scripts simultaneous.

Check out our sponsor Sales Igniter:


Magento Shopping Cart Rental Booking Software
Powerful Online Booking System, trusted by Rental Businesses in over 30 countries

Оцените статью