Установка nginx php mysql windows

Царский блог

Философия программирования

nginx+php-fpm под Windows

nginx

Apache – король веб-серверов, если можно так сказать. Но на пятки ему наступает даже не IIS от Microsoft, не lighttpd, а nginx (произносится как Энджин-Икс, engine с английского мотор, двигатель) нашего соотечественника Сысоева.

Чем он хорош? Говорят, что статика отдаётся гораздо быстрее, чем у Апача, да и динамика я думаю тоже. Он жрёт меньше ресурсов, что может быть критически важно для нагруженных серверов. Раньше мнгоие применял связку nginx+Apache – nginx для отдачи статики (рисунков, js/css etc.), а Апач – для отдачи динамики (PHP/Perl/Python/Ruby etc.). Но теперь nginx можно применять без Апача, так как для него появилось куча плагинов и дополнений, поэтому вместо связки nginx+Apache+PHP (мы тут говорим о PHP-среде) легко настроить просто nginx+php-fpm. Ладно, об нём написано куча литературы, не буду повторяться, опишу лишь процесс установки nginx+php-fpm под Виндовс (Windows).

Хотя, конечно, nginx органичней всего чувствует себя в FreeBSD и Linux (любой Unix-среде, наверное), под Винду он тоже неплохо работает, по крайней мере я его у себя на домашнем компе установил, чтобы тестировать некоторые штуки.

Итак, процесс установки/первичной настройки. Этот процесс расписан здесь: http://nginx.org/ru/docs/windows.html
я приведу лишь выжимку.

Смотрим доступные версии nginx под windows здесь: http://nginx.org/en/download.html
Сейчас есть версия 1.8.0, несколько месяцев назад я устанавливал 1.6.2, которая и сейчас у меня работает.
Итак, скачиваем текущую версию под windows: http://nginx.org/download/nginx-1.8.0.zip

Для удобства примем то, что я пользую сейчас:
Создаём папку C:\usr. Заходим в неё и распаковываем nginx-1.8.0.zip здесь (это можно проделать через GUI-интерфэйс).
Затем запускам териминал и заходим:

Тут Виньда может выкинуть окошко с предупреждением (см. скриншот), что nginx пытается получить доступ в сеть. Мы конечно же разрешаем.

Проверяем, запущен ли nginx и видим результат:

Остановим nginx нормально: nginx -s quit. Есть ещё несколько полезных команд для nginx:
nginx -s stop – останов nginx в любом случае (применяется, если nginx -s quit не сработает).
nginx -s reload – перезагрузка .conf файлов (конфигурации)
nginx -s reopen – переоткрытие .log файлов (полезна, если мы удалили или переместили логи при работающем nginx).

Итак, мы остановили nginx сейчас, так как прежде чем его запускать, надо правильно настроить .conf файлы. Они расположены в папке conf. Стандартный файл настройки – nginx.conf, из него директивой include могут подсоединяться другие файлы из этой (впрочем, и из любой другой) папки.
Например, директива include mime.types; в секции http присоединит файл mime.types, в котором находится определения всех стандартных MIME-типов. Впрочем, сам конфиг я обсуждать здесь не буду, о нем много написано в инете, приведу лишь пример своего конфига с краткими пояснениями.

Читайте также:  Как заменить картинку экрана блокировки windows 10

Предупреждение: это конфиг для моей домашней тестовой среды. Для рабочего сервера требуется более тонкая настройка.

Итак, в этом конфиге большинство настроек оставлено по умолчанию, а корень сайтов у нас в E:\sites, что в первую очередь делает команда root E:/sites. Обратите внимание на прямые слэши в стиле Unix в пути к папкам и файлам – это требование nginx, даже для Windows-версии.

Теперь можно запускать nginx (start nginx), если мы его останавливали перед этим, либо применить команду nginx -s reload, чтобы сервер перечитал конфиги без остановки своей работы, что полезно при работающем внешнем сайте.

Итак, теперь надо настроить PHP-FPM для Windows. Учтите, что мы уже в нашем конфиге сделали его поддержку на порту 9123 (под-секция location

PHP-FPM для Windows

1. Скачиваем свежий (или версию по выбору) .zip-архивчик с http://windows.php.net/download/. Архивчик должен быть VC11/VC9, что содержит в себе FastCGI-файл (phpcgi.exe).
2. Создаем папку в C:\usr, например с именем php-5.6.9 и распаковываем в неё содержимое архива.
3. Редактируем файл php.ini в соотв. со своими предпочтениями, единственное, убедиться, что у нас есть такая строка:

Она закрывает одну из старых уязвимостей nginx. Далее можно подключить PHP-модули по вкусу, расскоментировав их в соотв. секции и произвести другие настройки.

Установка nginx php mysql windows

Для установки понадобится:

  • — установленный AppServ
    — актуальная версия nginx

Вместо AppServ можно применять любую сборку веб-сервера основанную на Apache: например Denwer (Денвер), TopServer, XAMPP и т.д., либо собрать связку Apache+PHP+MySQL самому вручную.

Итак порядок установки:

  • Этап 1. Перенос Apache на порт отличный от 80го
    Этап 2. Установка nginx
    Этап 3. Настройка nginx
    Этап 4. Установка и настройка RPAF в Apache

Этап 1. Перенос Apache на порт отличный от 80го

  • AppServ по умолчанию настраивает Apache на прослушивание 80го порта, что вполне логично и правильно, но в нашем случае 80й порт будет прослушиваться nginx’ом, поэтому и требуется перенести Apache на другой порт.

    Открываем C:\AppServ\Apache2.2\conf\ httpd.conf и ищем в нем строчку Listen 80 (либо свой номер порта, если у Вас веб-сервер был установлен на другом порту) и заменяем ее на Listen 127.0.0.1:81
    Также просматриваем строчки задания виртуальных хостов (если они есть) и меняем их тоже
    находим NameVirtualHost *:80 и меняем на NameVirtualHost *:81
    находим все и меняем на

    После этого сохраняем изменения и перезапускаем Apache. Теперь можно проверить, что веб-сервер отвечает на порту 81 (Для проверки был создан файл test.php содержащий ).

Этап 2. Установка nginx

    Для установки nginx достаточно распаковать nginx-0.7.65.zip в папку где у нас будет находиться веб-сервер,
    например в C:\AppServ\nginx.
    Опытным путем было выяснено, что под Windows Nginx должен быть обязательно установлен на диск C , иначе он не запускается.

    Для простоты управления веб-сервером nginx создадим несколько bat файлов:

    Комментарии по тексту есть, но все же поясню пару мест.

    Если на сервере будет находиться не один сайт как в конфиге выше, а несколько, то для каждого должен быть указан свой блок server. Причем первый блок server считается сервером по умолчанию и он будет вызываться при обращении по IP или хосту не описанному ни в одном server_name.
    В server_name может быть указано: «_» — аналог default в Apache; один или несколько хостов через пробел; хост начинающийся с точки — описывает все его поддомены
    Приведу пример каркаса структуры для пояснения

    Отдельного внимания заслуживают секции location, позволяющие разруливать запросы, но их рассмотрение лучше вынести в отдельную статью

Этап 4. Установка и настройка RPAF в Apache

    Так как у нас обращение к Apache идет не напрямую, а через Nginx, то теперь в REMOTE_ADDR у нас не пользовательский IP, а IP-адрес сервера, на котором расположен Nginx. Поэтому на помощь приходит RPAF, он берет тело заголовка X-Forwarded-For, присланного от фронтенда и формирует в Apache из него REMOTE_ADDR.
    Таким образом заголовок REMOTE_ADDR снова имеет пользовательский IP.

    вместо 192.168.1.26 укажите IP адрес сервера, на котором расположен Nginx.
    Теперь сохраняем изменения и перезапускаем Apache.

    Так же желательно перенести папку C:\AppServ\Apache2.2\icons в папку C:\AppServ\www. Без этого при просмотре содержимого каталогов (опция Indexes в Apache) nginx будет пытаться загрузить несуществующие иконки для файлов.

    Теперь можно запустить nginx (start.bat) и проверять работу веб-сервера в браузере.
    Введем в адресной строке http://localhost/test.php (файл test.php мы создали на первом шаге) и увидим

На этом можно и остановиться.
Более подробно про директивы используемые в конфигурационном файле nginx можно почитать на сайте разработчика
http://sysoev.ru/nginx/docs/

Вопросы и уточнения и пожелания пишите в разделе Вопросы по веб-серверам

Настройка веб-сервера Nginx + PHP-FPM + MySQL

Быстрая установка и настройка веб-сервера NginX для работы CS-Cart.

Если вы в первый раз настраиваете VPS сервер, то рекомендуем начать с изучения с более детальной инструкции: Настройка веб-сервера Apache .

Видео

Сервер и ресурсы

Для инструкции арендован самый простой VPS сервер.

Обычно VPS сервер предоставляется с чистой операционной системой, мы выбрали последнюю версию Ubuntu 14.04 LTS x86 на данный момент.

Технические характеристики сервера:

ОС Ubuntu 14.04 LTS x86
Диск 2.0 ГБ
Процессор 2000 МГц
Память 128 МБ

Ресурсов данного сервера достаточно только для теста и эксперимента.

Предупреждение! Настройку сервера для живого интернет-магазина необходимо доверить профессионалам.

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

1. Подключаемся к серверу по SSH

Используем терминал (PuTTY).

2. Обновим список пакетов

Запустите в терминале (PuTTY) команду:

3. Устанавливаем NginX

4. Останавливаем Nginx

Остановим NginX на время настройки простой командой:

5. Узнаем количество процессоров в системе

Количество процессоров нам понадобится для конфигурации NginX:

Запоминаем число процессоров.

6. Установим число процессов Nginx

Найдите на сервере и откройте для редактирования файл:

Установите для неё значение равное числу процессоров. В нашем случае один процессор.

7. Создадим папку для интернет-магазина

В примерах команд и в конфигурационном файле мы будем использовать example.com . Замените его на имя своего домена, например, dbazhenov.ru.

8. Конфигурация Nginx

Нам необходимо настроить конфигурацию NginX. Сделаем так, чтобы Nginx понимал наш домен и отправлял его в нужную папку на сервере, а также установим правила для SEO.

Найдите на сервере и откройте файл:

Удалите весь код и вставьте новый. Ниже будет код, в комментариях кратко описано происходящее. Вам нужно заменить домен example.com на ваш домен

9. Перезапускаем nginx

10. Устанавливаем PHP-FPM

Можете установить любую версию PHP, соответствующую системным требованиям . Но в этом случае придется поменять конфигурацию nginx (/etc/nginx/sites-available/default) соответствующим образом. Например, если вы устанавливаете PHP7-FPM, вам придётся заменить путь к сокету PHP-FPM на /var/run/php/php7.0-fpm.sock .

11. Установим MySQL

Команда для установки MySQL:

В процессе установки вам потребуется несколько раз ввести пароль. Не потеряйте пароль!

12. Установим PhpMyAdmin

Ещё одной командой установим PhpMyAdmin для удобства работы с базой данных:

Потребуется ввести пароль от MySQL.

Консоль попросит вас выбрать Apache2 или lighttpd во время установки, пропустите данный шаг, просто нажмите ENTER

13. Добавим конфигурацию Nginx для PhpMyAdmin

Сделаем так, чтобы PhpMyAdmin открывался на отдельном поддомене: pma.example.com. Нам необходимо добавить в конфигурацию nginx новый раздел для поддомена.

Откройте на сервере файл:

В конец файла добавьте конфигурацию для поддомена, который будет ссылаться на phpmyadmin. Просто скопируйте код в конец существующей конфигурации, замените example.com на ваш домен:

14. Перезапускаем nginx

Вы уже знаете команду для перезагрузки nginx:

Установка 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

Нажмите на Finish

Установка MySQL
Запустите mysql-5.5.27-win32.msi

Нажмите на Next
Нажмите на I accept the terms in the License Agreement
Нажмите на Next

Нажмите на Complete
Нажмите на Install

Нажмите на Finish

Настройка MySQL
После установки запустится Мастер Конфигурации Экземпляра Сервера MySQL 1.0.17.0 (MySQL Server Instance Configuration Wizard 1.0.17.0)

Нажмите на Next
Нажмите на Standard Configuration

Нажмите на Next
Нажмите на Next
Введите пароль в New root password и повторите его в Confirm

Читайте также:  Install from dmg on windows
Оцените статью