Nginx php mysql phpmyadmin windows
Если несмотря на это Вы решили установить nginx под windows, то рассмотрим порядок установки.
Для сборки я использовал последние на текущий момент времени (2009-12-27) стабильные версии:
— nginx-0.7.64
— php-5.2.12-Win32-VC6-x86
— mysql-5.1.47-win32 ( можно скачать с http://dev.mysql.com/downloads/mysql/ )
Итак порядок установки:
— этап 1. Установка nginx
— этап 2. Установка MySQL
— этап 3. Установка и настройка PHP
— этап 4. Настройка nginx
Все эти этапы рассмотрены ниже.
Ответы на Ваши вопросы по nginx:
Вопрос: Поддерживает ли nginx модуль mod_rewrite?
Ответ: Файлы .htaccess игнорируюся, все их правила в похожем синтаксисе описываются в конфиге, в том числе и перенаправления.
Copyright © 2009 Creaternal (v-tanke.ru).
При копировании информации ссылка на источник и указание copyright обязательны.
Этап 1. Установка nginx
Для установки nginx достаточно распаковать nginx-0.7.64.zip в папку где у нас будет находиться веб-сервер.
В качестве примера взята папка C:\nginx и вся дальнейшая информация написана с учетом этого выбора.
Вы можете использовать C:\nginx, а можете указать и свою папку, тогда все места,
где встречается C:\nginx замените на свой путь.
UPD:
Опытным путем было выяснено, что под Windows Nginx должен быть обязательно установлен на диск C , иначе он не запускается.
Для простоты управления веб-сервером nginx создадим несколько bat файлов:
На этом пока остановимся, выключим nginx (запустив stop.bat) и перейдем к следующему шагу
Copyright © 2009 Creaternal (v-tanke.ru).
При копировании информации ссылка на источник и указание copyright обязательны.
Этап 2. Установка MySQL
создадим папку C:\nginx\mysql
далее появляется рекламка, но она нам не интересна, поэтому пролистываем ее нажимая кнопку «Next»
после этого появляется окно с приглашением выполнить настройку MySQL и зарегистрировать его.
Регистрировать не будем, поэтому снимаем эту галочку и жмем кнопку «Finish»
Все готово к применению настроек жмем «Execute»
Если никаких проблем не возникло, должно результат должен быть как на картинке ниже
жмем кнопку «Finish»
На этом установка MySQL оканчивается, переходим к следующему этапу
Copyright © 2009 Creaternal (v-tanke.ru).
При копировании информации ссылка на источник и указание copyright обязательны.
Этап 3. Установка и настройка PHP
Распакуем php-5.2.12-Win32-VC6-x86.zip в C:\nginx\php
Установка nginx+PHP+MySQL под Windows
Я недавно прочитал тему Установка Apache+PHP+MySQL под Windows и решил что похожая тема очень пригодится для nginx’а. И так начнём.
Для начала скачайте nginx, PHP и MySQL. Примечание: Используются последние версии программ на данный момент. Примечание: PHP 5.2 более стабильнее. Прямые ссылки: nginx: http://nginx.org/download/nginx-1.2.3.zip PHP: http://windows.php.net/downloa. C6-x86.msi MySQL: http://www.mysql.com/get/Downl. mysql.com/
Установка nginx
Скопируйте всё содержимое папки nginx-1.2.3 из скачанного архива nginx-1.2.3.zip в C:\server (или в другую папку Примечание: поддерживаются только пути в UTF-8)
Установка PHP
Запустите php-5.2.17-Win32-VC6-x86.msi
Нажмите на Next
Нажмите на I accept the terms in the License Agreement
Нажмите на Next
Нажмите на Next
Нажмите на Other CGI
Нажмите на Next
Нажмите на Script Executable
Нажмите на Entire feature will be installed on local hard drive
Нажмите на + Extensions
Нажмите на bzip2
Нажмите на Entire feature will be installed on local hard drive
Нажмите на Curl
Нажмите на Entire feature will be installed on local hard drive
Нажмите на GD2
Нажмите на Entire feature will be installed on local hard drive
Нажмите на Multi-Byte String
Нажмите на Entire feature will be installed on local hard drive
Нажмите на Mcrypt
Нажмите на Entire feature will be installed on local hard drive
Нажмите на MySQL
Нажмите на Entire feature will be installed on local hard drive
Нажмите на MySQLi
Нажмите на Entire feature will be installed on local hard drive
Нажмите на zip
Нажмите на Entire feature will be installed on local hard drive
Нажмите на — Extensions
Нажмите на + Extras
Нажмите на PEAR Install
Нажмите на Entire feature will be installed on local hard drive
Нажмите на — Extras
Нажмите на Next
Нажмите на Install
Установка MySQL
Запустите mysql-5.5.27-win32.msi
Нажмите на Next
Нажмите на I accept the terms in the License Agreement
Нажмите на Next
Нажмите на Complete
Нажмите на Install
Настройка MySQL
После установки запустится Мастер Конфигурации Экземпляра Сервера MySQL 1.0.17.0 (MySQL Server Instance Configuration Wizard 1.0.17.0)
Нажмите на Next
Нажмите на Standard Configuration
Нажмите на Next
Нажмите на Next
Введите пароль в New root password и повторите его в Confirm
Разворачиваем связку Nginx+Php-Fpm+MySQL с magento2 на борту и раскладываем по контейнерам в Docker
Все чаще стучась в различные компании разработчиков в качестве DevOps инженера, я получаю приблизительно одни и те же тестовые задания. Они отличаются друг от друга версиями PHP или проектами которые надо запустить.
Но в целом они упираются в одну связку это Nginx\Appache, SQL (тут вариаций много, все зависит от предпочтений заказчика), PHP и желательно чтобы это было разложено по контейнерам.
Поэтому я решил рассказать на примере, как все это поднять без особых усилий.
Возможно кому-то это поможет понять, на простом примере, что к чему. Описывать что такое Docker я не буду, т.к. статей на эту тему вагон и маленькая тележка.
В данной статье, мы подготовим небольшую структуру:
- В качестве вэб сервера будет использоваться Nginx с минимальной настройкой для запуска проекта.
- В качестве SQL будет использовать MySQL.
- PHP7.0-fpm версия c небольшими надстройками для запуска нашего проекта.
- В качестве проекта который мы будем разворачивать — берем magento2.
Для начала установим Docker.
Все зависит от системы в которой вы хотите работать, в отношении кроссплатформенности, docker приятно удивляет (один и тот же файл конфигурации позволяет собрать и запустить контейнеры на любой системе *nix, Win, iOS).
Для Linux (к примеру в CentOS)
Включаем и стартуем сервис:
Чтобы наша структура создавалась одной командой нам потребуется docker-compose.
Для начала поставим необходимые для него компоненты:
Дальше устанавливаем docker-compose и обновляем python:
(или # pip install docker-compose)
Для Win систем (многие считают это извращением)
Но если вы решили, настоятельно рекомендую вам это делать на версии которая поддерживает Hyper-V (например win10 Prof).
Включаем компонент Hyper-V в «Включении и отключении компонентов Windows» (Turn Windows features on or of).
Скачиваем установщик с оф.сайта докера и устанавливаем. Также, дополнительно вы можете поставить GUI (Kitematiс) для наглядного отображения.
Приступим к созданию окружения:
Для начала создадим под этот проект папку и заходим в нее:
Дальше строим структуру папок таким образом:
Создаем понятную среду для nginx:
MySQL — в этой папке будут храниться базы. Удобно бэкапить и переносить.
Nginx — тут будут храниться логи, файл конфигурации и наш проект.
PHP — сюда мы сложим Dockerfile с настройками и php.ini.
в корне (в нашем случе папка /mage) будет лежать файл docker-compose.yml.
Создадим конфигурационный файл для Nginx:
Можно использовать любой другой редактор. Если его нет — можно установить с помощью:
И добавляем в nginx.conf следующее:
Это минимальный конфиг для того, чтобы все завелось. В первом блоке описываем какой порт слушать, перечисляем возможные index страницы, обзываем, создаем alias для длинного пути где лежит magento2, пишем — какие логи нужны и указываем где они должны храниться, указываем папку где живет magento2 (в данном случае наш alias $MAGE_ROOT).
Во втором блоке прописываем параметры fastcgi.
Третий блок нужен для решения проблемы отображения, в проекте показывалась пустая страница. Из документации вычитал что magento2 требует реврайтинга. (на других проектах таким проблем не возникало).
В папке www создаем каталог для нашего проекта:
Скачиваем с оф.сайта magento2
и извлекаем из архива в папку /mage/Nginx/www/magento2
C настройками для Nginx мы закончили.
Теперь займемся PHP:
Начнем с Dockerfile
Это нужно, чтобы мы могли использовать те модули, которые нужны именно под этот проект.
В этом файле мы рассказали что должно быть установленно в этом образе, а так же указали где будет располагаться корневая директория и куда скопировать настройки из php.ini
Теперь настроим php.ini:
Это взято из php.ini.sample который предлагают сами разработчики Magento2. Нечего сверхъестественного я в него не добавлял.
Все, на этом настройка PHP закончена.
Дальше создаем файл docker-compose который нам все соберет в одну удобную систему.
Тут мы распишем какие сервисы и с какими настройками должны запуститься:
(или если не хотите наблюдать за работой контейнеров можете добавить -d)
И по экрану побегут строчки, а вы спокойно можете налить себе кружечку горячего кофе, пока машина будет работать за вас.
После установки, у вас в папке MySQL, создастся много файлов и папок, одна из которых будет magento2, а в папке Nginx/Logs появятся 2 лога.
Открыв браузер и набрав там localhost вы должны увидеть приглашение к установке Magento2.
Если все таки что-то не получилось, то возможно этот список решений, сможет вам помочь:
1) Версия docker-compose файла не подошла, тогда нужно поправить «version: ‘3.3’», посмотреть какая именно подойдет вам можно тут
2) Все нормально запустилось, но браузер открывает чистую страницу, без единой ошибки — поможет строчка в nginx.conf
3) Если после установки самой Magento2 (в браузере) у вас не прорисовываются фреймы и все выглядит как текстовый вариант сайта, вам нужно сделать следующее:
3.1 в SQL, советую зайти через phpmyadmin localhost:8090 логин root пароль mypassword, выбрать базу magento2 и ввести sql запрос
3.2 подключиться к контейнеру c PHP (php-fpm) и набрать
Он должен пересчитать и проверить все. И после этого все корректно должно отображаться.
4) Если у Docker нет прав на запись в папки (это он скажет если вы набрали ) docker-compose up (без -d)
4.1 в линуксе надо отключить политику защиты
Отключение до перезагрузки
или отключение навсегда
4.2 В windows нужно в настройках docker выбрать shared drivers и выбрать диск на котором у вас лежит проект. После перезапуска Docker проблема уйдет.