Windows nginx php server

nginx под Windows

Версия nginx под Windows использует “родной” Win32 API (не эмуляцию Cygwin). В настоящий момент в качестве методов обработки соединений используются select() и poll() (1.15.9), поэтому не стоит ожидать высокой производительности и масштабируемости. В силу этого и ряда других известных проблем версия nginx под Windows рассматривается пока как бета-версия. На данный момент в ней доступна практически вся функциональность, что и в версии nginx под UNIX, за исключением XSLT-фильтра, фильтра изображений, модуля GeoIP и встроенного языка Perl.

Чтобы установить nginx/Windows, скачайте дистрибутив последней основной версии (1.19.10), поскольку основная ветвь nginx содержит все известные исправления. Затем распакуйте дистрибутив, перейдите в каталог nginx-1.19.10 и запустите nginx . Вот пример для корневого каталога на диске C:

Чтобы увидеть процессы nginx, запустите утилиту командной строки tasklist :

Один из процессов главный, другой — рабочий. Если nginx не запускается, нужно искать причину в в файле лога ошибок logs\error.log . Если же лог-файл не создался, то причину этого следует искать в Windows Event Log. Если вместо ожидаемой страницы выводится страница с ошибкой, нужно также искать причины ошибки в файле logs\error.log .

nginx/Windows использует каталог, в котором он был запущен, в качестве префикса для относительных путей в конфигурации. В вышеприведённом примере префиксом является C:\nginx-1.19.10\ . Пути в конфигурационном файле должны задаваться в UNIX-стиле с использованием прямых слэшей:

nginx/Windows работает как стандартное консольное приложение (не сервис) и управляется при помощи следующих команд:

Windows nginx php server

Если несмотря на это Вы решили установить 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) и перейдем к следующему шагу

Читайте также:  Загрузка файлов с github linux

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

wiki.sys-adm.org.ua

Инструменты пользователя

Инструменты сайта

Содержание

Nginx+php-cgi: настройка автоматического запуска при старте Windows

Введение

На одном из проектов мы используем windows server 2008 в качестве операционной системы, так как работа проекта связанна с конвертацией графических форматов, для чего мы используем Adobe Illustrator. К сожалению Inkskape/ImageMagick/GraphicsMagick, которые отлично работают на linux, нам не подходят из-за ряда проблем с конвертацией, так что приходится страдать. И вот появилась необходимость в использовании php. Вариантов как бы немного:

К сожалению, официальных сборок apache под windows больше не выпускает, последняя официальная сборка 2.2.25 от 2013 года. Но правда есть т.н. 3rd party сборки:

C IIS я работал очень мало, и честно говоря, особого желания нет. А вот опыт работы с nginx + php-cgi/fpm более чем достаточный. Так что остановился на этом варианте. Особенно учитывая тот факт, что в ближайшем будущем скорее всего будем мигрировать с Windows/AI на Linux/Inkskape/ImageMagick/GraphicsMagick/etc.

Казалось бы простая задача, установить и настроить nginx + php-cgi, которая в linux занимает 10-15 минут, на windows платформе заняла у меня на порядок больше времени из-за своей особенности и специфики.

Установка и настройка сервера php-cgi

Идем на страницу php.net и выбираем нужную версию php. PHP поставляется в двух вариантах

Если кратко, то TS версию следует использовать, если у вас php используется в качестве модуля apache. NTS версия должна быть использована, если вы используете php как cgi. Более подробно о различиях NTS от TS версии можно почитать на stackoverflow

Итак скачиваем архив, в моем случае это был файл php-5.6.21-nts-Win32-VC11-x86.zip и распаковываем в любое удобное для вас место. В рамках данной статьи я буду использовать следующий путь — C:\php-5.6.x-nts-vc11-x86\ . Так же для избежания множества ошибок, советую добавить данный путь в переменную окружения PATH.

Так же не забываем о том, что для корректной работы php необходимо установить пакет Visual C++ Redistributable for Visual Studio 2012, если у вас такой не стоит в системе, иначе при запуске будем получать ошибку вида

Проверяем что переменная PATH применилась и работает

После распаковки копируем файл php.ini-production в php.ini и правим под свои нужды. Ниже я приведу лишь те строки, которые я менял

Если вы все правильно настроили, то команда php-cgi.exe -m должна выдать примерно такой список

Если вы где то допустили ошибку, то в файле php-error.log появятся соответствующие предупреждения/ошибки. Например, ошибка вида

Если ошибок нет, то запускаем наш cgi сервер из командной строки

Теперь переходим к настройке nginx.

Установка и настройка nginx

Установка аналогична php, скачиваем архив с официального сайта, распаковываем в нужную нам папку, правим конфигурационный файл под свои нужды и запускаем. В рамках данной статьи я буду использовать следующий путь — C:\nginx-1.8.x\

Ниже привожу минимально необходимые настройки, которые необходимо внести в файл nginx.conf

После этого можно запустить nginx, для этого выполнив следующую команду

Читайте также:  Windows live ошибка загрузки

Не забываем открыть 80й порт

Проверяем в командной строке или в любом проводнике, если вы не используете cmder

Ну а для проверки php, создаем тестовый файл с выводом phpinfo. В результате мы должны увидеть примерно такую страницу

Настройка автоматического запуска при старте

Сама связка у нас настроена и работает, но проблема в том, что как только вы закроете сеанс или перезагрузите сам сервер, то придется заново запускать в ручном режиме, что очень не удобно, а иногда и не приемлемо. К сожалению сам php-cgi.exe и nginx.exe не поддерживают работу в виде службы, можно конечно использовать и сторонние утилиты, но большинство из них платные, или глючные. Немного поискав в google, нашел интересную утилиту от автора Jenkins — winsw (Windows Service Wrapper). Эта небольшая утилита

58 Кбайт, которая представляет собой один исполняемый файл — winsw-1.18-bin.exe.

Итак, для настройки нам необходимо скопировать winsw-1.18-bin.exe в папку с nginx.exe и переименовать во что то осмысленное (на самом деле переименовывать не обязательно, просто так будет удобней). Я буду использовать C:\nginx-1.8.x\winsw-nginx.exe для запуска nginx и C:\php-5.6.x-nts-vc11-x86\winsw-php.exe для запуска php-cgi.exe соответственно. После копирование файла в папки nginx и php создаем там же xml файлы с точно таким же названием как и сам exe — winsw-nginx.xml и winsw-php.xml с таким содержимым

Думаю xml говорит сам за себя, по сути мы указываем как и с какими параметрами нам надо запускать и останавливать нашу службу. Так как php-cgi.exe не имеет ключа для остановки, то приходится его останавливать при помощи taskkill, вот такая небольшая хитрость. Обратите внимание на то, что папка, указанная в logpath должна быть создана до запуска службы.

После этого необходимо создать сами службы, для этого выполним следующие команды

После чего, в Service Manager на закладке Services вы должны увидеть две новые службы

Запускаем соответствующие службы и проверяем работу. Так как Startup type у этих служб по умолчанию будет Automatic, то после перезагрузки сервера они запустятся автоматически.

Так же советую обратить внимание на утилиту nssm, которая имеет очень интересное описание

Так же представляет из себя один exe файл, и даже имеет графический интерфейс, мелочь, а приятно.

А нашел я ее случайно, когда начал поиск возможности запуска bitvise ssh клиента при старте системы. К сожалению с помощью winsw мне это сделать не получилось, а вот с помощью nssm все запустилось в течение 5 минут.

Настройка веб-сервера 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¶

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

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

Читайте также:  Как разблокировать входящий трафик hamachi windows 10

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 на Windows 10

В этой статье мы разберём, как установить Nginx на Windows 10 и запустить его, также эта инструкция подойдёт для Windows 7 и Windows 8.

Ещё перед этой статьи, прочитаете «Как установить Apache на Windows»,это если вам нужен будет Apache.

Скачать Nginx:

Перед тем как установить, нужно скачать Nginx, переходите по этой ссылки, там скачаете архив с ним.

Как видите я скачал стабильную версию, и вам тоже рекомендую так именно её, так как, основной могут быть баги.

После того как скачали, открываем архив и папку внутри, перемешаем в папку которую вам надо, но я рекомендую в «Program Files», иначе придётся ещё добавлять Nginx в директиву «path».

Установка и запуск Nginx:

После того, как вы переместили, заходите в папку и Nginx и запускаем файл «nginx.exe», по двойному клику левой кнопки мыши.

Тут стоит сказать, что при установки у вас не чего не появится и это может смутить, но чтобы убедится, видите в адресную строку браузера «http://localhost/», должно появится вот это.

Если у вас именно это, то значит всё работает так как надо.

Nginx запуск на Windows 10:

Единственное что стоит сказать, при перезагрузки компьютера или выключение и включение, сервер перестают работает, чтобы это исправить, есть два способа, первый через встроенный Windows server, но его я не буду, так как, он достаточно сложный и на мой взгляд не очень удобный, второй, это просто отправить на рабочий стол, в качестве ярлыка файл «nginx.exe».

Теперь вы можете спокойно запускать его с рабочего стола.

Настройка Nginx:

Последние что стоит рассказать, это то, как его настроить что бы было ещё удобрение, для этого заходим в папку со сервером и там переходим в «conf», и открываем файл «nginx.conf».

Единственное, что стоит в нём изменить, это грубо говоря массив «location», который указывает настройки для стартовой страницы сервера, надо изменить значение у ключа «root», в качестве значения используете путь до папки с вашим сайтом.

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