Меню Рубрики

Nginx php config windows

Nginx php config windows

Как установить и запустить сервер Nginx на Windows 10

Nginx — это веб-сервер, который очень популярен в Linux и BSD системах. Многие полагают, что установить Nginx на Windows 10 невозможно. Это совсем не так.

Согласно информации, размещенной на сайте Nginx, установка на Windows 10 возможна, но есть несколько ограничений производительности, которые пока не были устранены. К ним относятся только одно рабочее веб-приложение, отсутствие масштабируемости и возможные проблемы с UDP аутентификацией. На данный момент Nginx уже упоминал, что он решит все проблемы в своих будущих выпусках.

Чтобы успешно установить и запустить Nginx на Windows 10, выполните следующие действия.

Загрузите Nginx Server

Существует много загружаемых версий Nginx для Windows, но Nginx рекомендует использовать “mainline version”. Однако, вы не найдете никаких проблем, если загрузите последнюю стабильную версию этой программы.

Выберите последний ZIP-файл и загрузите его в новую папку.

В качестве первого шага необходимо распаковать его. Вы можете использовать 7-Zip, WinRAR или любое другое популярное программное обеспечение для архивации.

После извлечения содержимого архива из первоначальной директории необходимо переместить папку, которая поставлялась со встроенной загрузочной копией. в «Program Files».

Мы запустим Nginx из этого места в качестве веб-сервиса по умолчанию.

Установка Nginx

Чтобы установить и запустить Nginx, выберите и дважды щелкните файл Nginx.exe.

На следующем шаге вам нужно проверить, была ли установка успешной. Для этого вы можете перейти в браузер по умолчанию и ввести “localhost”. Если вы увидите следующее окно с сообщением об успешной установке и работе веб-сервера Nginx, то проблем с установкой в Windows 10 не было.

Чтобы остановить Nginx, вы можете завершить его из окна Диспетчер задач.

Запуск Nginx на компьютере с ОС Windows

Для запуска Nginx, вы должны использовать Internet Information Services (IIS), который является веб-сервером Microsoft, обслуживающим запрошенные HTML страницы или файлы. Вы можете включить его в меню Turn Windows Features On or Off в Панели управления. Проверьте необходимые поля для Web Management Tools и IIS Management Console.

Для включения IIS на вашем компьютере потребуется некоторое время.

Менеджер IIS Manager можно открыть непосредственно из меню Пуск. Здесь вы сможете получить доступ к веб-сайту по умолчанию, который обычно расположен по адресу “inetpub wwwroot”. Он также известен как корень веб-приложения.

Полезно изменить физический путь этого корня в более подходящую папку. Я создал новую папку “Work” в C:\ и изменил физический путь на “C:\Work”.

После этого перейдите в папку Nginx, которую переименовали в файлах программы. Нажмите “Conf” и выберите “nginx.conf”. Этот файл можно редактировать с помощью текстового редактора Notepad++.

В Notepad++ измените корень на отредактированный физический путь, о котором мы говорили выше.

Вы можете отредактировать файл index.html в корневой папке на отдельной вкладке. Измените текст на то, что вы хотите, чтобы веб-сервер отображался на экране.

Теперь снова запустите программу Nginx.exe и введите “localhost” в окне браузера. Веб-сервер Nginx выделит сделанные вами изменения.

На сайте ресурсов Nginx представлен полный список веб-приложений, которые можно использовать для запуска на Windows PC.

Вывод

Nginx является одной из ведущих компаний по разработке веб-серверов, которая, как ожидается, затмит Apache в будущем. Кроме того, он быстрее, может справляться с большим количеством параллельных задач и надежен. Подводя итог, можно сказать, что если у вас есть простой сайт, который вы хотите подключить к Nginx, вы можете сделать это прямо сейчас без каких-либо проблем.

Спасибо, что читаете! Подписывайтесь на мои каналы в Telegram, Яндекс.Мессенджере и Яндекс.Дзен. Только там последние обновления блога и новости мира информационных технологий.

Респект за пост! Спасибо за работу!

Хотите больше постов? Узнавать новости технологий? Читать обзоры на гаджеты? Для всего этого, а также для продвижения сайта, покупки нового дизайна и оплаты хостинга, мне необходима помощь от вас, преданные и благодарные читатели. Подробнее о донатах читайте на специальной странице.

Заранее спасибо! Все собранные средства будут пущены на развитие сайта. Поддержка проекта является подарком владельцу сайта.

Поделиться ссылкой:

Вам также может понравиться

Как автоматически переключаться между светлой и темной темой в Windows 10

Debian и Kali Linux доступны для установки в Windows Subsystem for Linux

Как автоматически очищать папку Загрузки в Windows 10

Что такое LIT-файл и как его открыть

Как управлять запланированными задачами Windows

4 бесплатных программы для проверки и исправления поврежденных секторов на SSD-накопителях

    Opens in a new tab Opens in a new tab Opens in a new tab Opens in a new tab Opens in a new tab

Последние статьи

Рубрики

FACEBOOK

СЧЕТЧИКИ

РЕКЛАМА И ДОНАТЫ

Социальные сети

Архив

©2016-2020 Блог Евгения Левашова. Самое интересное и полезное из мира ИТ. Windows 10, Linux, Android и iOS. Обзоры программ и веб-сервисов. Статьи о мотивации и продуктивности.

Использование материалов разрешается с активной ссылкой на levashove.ru.

Данный блог является личным дневником, содержащим частные мнения автора. В соответствии со статьей 29 Конституции РФ, каждый человек может иметь собственную точку зрения относительно его текстового, графического, аудио и видео наполнения, равно как и высказывать ее в любом формате. Блог не имеет лицензии Министерства культуры и массовых коммуникаций РФ и не является СМИ, а, следовательно, автор не гарантирует предоставления достоверной, не предвзятой и осмысленной информации. Сведения, содержащиеся в этом блоге не имеют никакого юридического смысла и не могут быть использованы в процессе судебного разбирательства. Автор блога не несёт ответственности за содержание комментариев к его записям.

Источник

Записки IT специалиста

Технический блог специалистов ООО»Интерфейс»

Настраиваем веб-сервер на базе Nginx + PHP-FPM в Debian / Ubuntu Server

Nginx — простой, но в тоже время быстрый и надежный веб-сервер, не перегруженный лишними функциями и отлично подходящий для работы в высоконагруженных системах. Особую популярность он завоевал как кеширующий прокси, позволяя существенно снизить нагрузку, на стоящий за ним веб-сервер, чаще всего Apache, но сегодня он все чаще используется как самостоятельный сервер. В нашей статье мы расскажем, как настроить Nginх для работы с PHP-приложениями при помощи менеджера процессов PHP-FPM на платформе Debian/Ubuntu.

Сразу охладим некоторые горячие головы — бытует мнение что Nginx быстрее Apache и вообще является чуть ли не панацеей от всех проблем. Но это не так. Nginx первоначально разрабатывался как кеширующий прокси и поэтому отлично справляется со своей основной задачей — кешированием и отдачей статического содержимого, что в общем-то и является основной задачей веб-сервера. В силу своей архитектуры он показывает выдающуюся производительность при множественных запросах даже в условиях ограниченных ресурсов.

В тоже время Nginx не умеет обрабатывать динамическое содержимое, для этого он должен отдать запрос серверу приложений одним из поддерживаемых способов, например, через FastCGI, дождаться и получить ответ, а затем уже отдать его клиенту. В среднем, что касается производительности PHP, то FastCGI будет в среднем в 10-15% медленнее, чем Apache + mod-php. Поэтому, если производительность вашего сервера упирается в производительность PHP, то никакой Nginx вам не поможет, а наоборот, только усугубит ситуацию.

Кроме того, работа с Nginx более сложна, чем с Apache, если с последним все популярные веб-движки работают из коробки, то для полноценной работы с Nginх может потребоваться дополнительная настройка. Исходя из этого мы не рекомендуем использовать Nginx, как самостоятельный веб-сервер, начинающим веб-мастерам, так как при отсутствии опыта и квалификации довольно трудно понять, связана ошибка с веб-приложением или веб-сервером. Да и на форумах для новичков вам вряд ли кто-нибудь подскажет по такой связке, а там, где «тусуются» работающие с Nginx специалисты подобные вопросы обычно не поднимаются, так как участники давно их «переросли».

Если вам нужен просто работающий веб-сервер, и вы не готовы глубоко вникать в тему, то лучше обратите свое внимание на Apache, если же вы готовы потратить некоторое время и силы на изучение и настройку, а также готовы самостоятельно решать возникающие проблемы, то добро пожаловать!

Установка Nginx

Несмотря на то, что Nginх присутствует в репозиториях основных дистрибутивов, мы рекомендуем использовать версию от разработчиков, это позволит более оперативно получать новые версии и новые возможности. Существует две ветки Nginx, основная и стабильная, первая имеет нечетную, вторая четную нумерацию. Разработка происходит следующим образом, все изменения основной ветки, скажем 1.7 фиксируются и переходят в стабильную 1.8, которая перестает разрабатываться и получает только обновления безопасности, основная ветка после этого получает номер 1.9 и в нее вносятся все изменения.

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

Для подключения репозиториев Nginx создадим в папке /etc/apt/sources.list.d файл nginx.list:

Потом добавим в него строки. Для Debian:

где codename — кодовое имя дистрибутива, например, jessie для Debian 8 или trusty для Ubuntu 14.04. Если вам не нужны исходные тексты, то репозитории deb-src можно не подключать (т.е. не добавлять эти строки).

Затем скачаем и установим PGP-ключ, необходимый для проверки подлинности:

После чего можно обновить список пакетов и установить nginx:

Теперь, если набрать в браузере адрес нашего сервера, вы увидите стандартную заглушку Nginx.

Также проверить состояние веб-сервера можно командой:

Теперь перейдем к настройке. Для этого перейдем в папку /etc/nginx и откроем файл nginx.conf, мы будем перечислять настройки в порядке их нахождения в файле, если данной опции нет — ее следует добавить.

Прежде всего изменим пользователя, от имени которого работает nginx, в Debian/Ubuntu веб-сервер работает от пользователя www-data и чтобы избежать в будущем возможных коллизий с правами доступа приведем строку к виду:

Затем укажем количество рабочих процессов, рекомендуется выбирать их количество по числу доступных процессорных ядер, в нашем случае 2:

Приведем секцию events к виду:

Первая опция задает количество соединений на рабочий процесс, вторая задает метод обработки соединений, явно укажем наиболее эффективный для Linux.

Теперь перейдем в секцию http и после строки

зададим следующие опции:

Они задают таймаут (в секундах) на чтение клиентом тела и заголовка запроса, последняя опция разрешает сброс соединений по таймауту.

Эти параметры ограничивают максимальный размер тела запроса клиента и задают буфер для чтения заголовка запроса. Максимальный размер тела запроса ограничивает размер файла, который может быть загружен веб-сервером.

Также разрешим передачу файлов и оптимизируем этот процесс.

Он задает таймаут постоянных (keep-alive) соединений, которые позволяют повысить производительность протокола HTTP/1.1, но незакрытое соединений впустую использует ресурсы сервера и поэтому такие соединения следует принудительно завершать.

Ниже зададим параметры gzip-сжатия:

Первая опция включает gzip-сжатие, затем отключаем его для младших версий IE (6 и ниже), если такие вдруг зайдут на наш сервер, разрешим сжимать проксированные запросы, это нужно для сжатия динамического содержимого, затем укажем минимальный размер сжимаемого ответа, чтобы не тратить ресурсы сервера на сжатие коротких ответов. Ниже задается уровень сжатия и типы сжимаемых данных.

В самом конце, после

Это позволит подключать конфигурации виртуальных хостов из папки sites-enabled.

Сохраним и проверим конфиг командой:

После чего можно перезапустить nginx:

Теперь можно перейти к настройке виртуальных хостов, создадим две папки:

В первой будут хранится настройки сайтов, а во второй мы будем создавать символьные ссылки для того, чтобы подключить настройки сайта к конфигурационному файлу nginx.

Перед тем как описывать виртуальные хосты, создадим структуру папок для их хранения:

Затем создадим конфигурационный файл для нашего первого сайта:

Какого-либо стандарта по названию файлов у nginx нет, поэтому можете придерживаться своей системы, главное, чтобы вам было понятно, какой файл за какой сайт отвечает. Теперь откроем его и внесем следующий текст:

Его синтаксис достаточно прост и понятен, первая секция server задает основные параметры сайта, его имя, кодировку, расположение корневой директории и файлов логов. Вторая секция нужна для перенаправления сайта с www на без www.

Если вы хотите сделать данный виртуальный хост сайтом по умолчанию, т.е. тем на который будут переадресовываться все запросы, для которых nginx не нашел подходящего виртуального хоста или без имени сервера вообще, например, по IP-адресу, то добавьте к директиве listen опцию default, начиная с версии 0.8.1 можно использовать опцию default_server:

Директива index указывает индексные файлы, которые будет искать в данном расположении веб-сервер в порядке их перечисления, так если в директории имеются одновременно index.html и index.php — использоваться всегда будет первый. Указанная конструкция универсальна, но на практике лучше указать один тип индексного файла, тот что реально используется.

Сохраняем конфигурацию и подключаем ее к nginx:

Проверяем конфигурацию и заставим nginx ее перечитать:

Теперь поместим в корневую директорию сайта файл index.html со следующим содержимым:

Теперь набираем в браузере имя нашего сайта и убеждаемся, что все работает.

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

Для работы с современными веб-приложениями вам потребуется поддержка популярного скриптового языка PHP, Nginx поддерживает работу через FastCGI, но не имеет собственного менеджера процессов, поэтому мы будем использовать для этой цели PHP-FPM.

Важно! В современных дистрибутивах используется более новая версия PHP 7, чтобы работать с новой версией языка вместо php5 в приведенных ниже командах следует указывать php7.x или просто php например, вместо php5-imagick нужно набрать php7.0-imagick или php-imagick.

Все необходимые пакеты и интерпретатор PHP будут установлены по зависимостям. Также имеет смысл сразу установить некоторые модули PHP, например, для работы с графикой:

Настройки PHP-FPM по умолчанию достаточно оптимальны и никаких вмешательств в них не требуется, однако следует подправить некоторые опции PHP, для этого откроем /etc/php5/fpm/php.ini и найдем там следующие опции:

этот параметр задает максимальный размер данных загружаемых методом POST, влияет, например, на размер загружаемых средствами PHP файлов. По умолчанию 8 МБ, можем изменить по собственным потребностям.

Если вы будете использовать PHP-приложения (CMS) работающие в кодировке отличной от UTF-8, то приведите к следующему виду опцию:

Затем раскоменнтируйте и установите опцию:

Это закроет возможную уязвимость в PHP.

Еще ниже надо найти и увеличить размер максимально загружаемого файла:

Данное значение должно быть больше или равно значению post_max_size, иначе вы будете ограничены в загрузке файлов меньшим из указанных в этих опциях размером.

Сохраним изменения и перезапустим PHP-FPM:

Теперь следует научить Nginx работать с PHP-FPM, для этого в файл конфигурации виртуального хоста нужно добавить настройки, которые будут перенаправлять (проксировать) все запросы к динамическому содержимому на FastCGI-шлюз.

Если сайтов несколько, то аналогичные настройки потребуется добавить каждому виртуальному хосту, поэтому, чтобы не делать лишних действий, имеет смысл вынести данные настройки в шаблон и подключать к виртуальному хосту уже его. Такой подход имеет еще один плюс, если вам потребуется изменить настройки, то делать это придется только в одном месте.

Создадим директорию для хранения шаблонов:

После чего создадим в ней шаблон для работы с PHP-FPM:

Откроем его и добавим следующий текст:

Указанный нами блок location будет обрабатывать все запросы к php-файлам, первая директива в нем проверяет наличие запрошенного файла, в противном случае отдавая ошибку 404. Вторая устанавливает параметры соединения с FastCGI-шлюзом, в нашем случае с PHP-FPM, соединение устанавливается через UNIX-сокет, как наиболее производительный способ соединения. Затем указывается индексный файл и подгружаются настройки Nginx для FastCGI.

Важно! Обратите внимание, что PHP 7 имеет иной путь к UNIX-сокету, поэтому следует указывать /var/run/php/php7.0-fpm.sock

В принципе этого уже достаточно, чтобы работать с динамическим содержимым, но не будем спешить и добавим в файл еще несколько блоков.

Несмотря на то, что Nginx не использует htaccess-файлы, они, вместе с файлами htpasswd могут находиться в директории сайта, особенно если до этого он работал на Apache и будет правильно запретить доступ к ним в целях безопасности.

Также следует настроить кэширование статического содержимого:

Данная конструкция включает кэширование на стороне браузера, сообщая тому, что «срок годности» указанных файлов — 168 часов (1 неделя) и при последующих обращениях на ваш сайт данные файлы следует брать из локального кэша. Мы привели примерный список, вы можете самостоятельно добавить в него нужные расширения файлов.

Также зададим кэширование для скриптов и стилей:

Для них установим срок кэширования в 3 часа, что позволит соблюсти баланс между скоростью применения возможных изменений в этих файлах и уменьшением количества запросов к вашему сайту.

Теперь откроем файл конфигурации виртуального хоста и в конце первой секции server добавим строку подключения шаблона:

Сохраним все настройки, проверим конфигурацию и перезапустим Nginx.

Чтобы проверить работу PHP создадим в корневой директории сайта файл test.php со следующим содержимым:

Теперь, если обратиться к данному файлу через браузер вы должны увидеть стандартную страницу с информацией о PHP.

Установка MySQL и phpMyAdmin

СУБД MySQL широко используется для хранения информации в современных веб-приложениях. Это один из самых важных компонентов веб-сервера, так как в базе данных обычно хранится вся информация сайта, кроме статического содержимого (изображений, файлов и т.п.).

Для установки MySQL выполните:

Важно! В свежих выпусках Debian (и его производных) вместо пакета mysql-server следует установить mariadb-server, который полностью совместим с MySQL.

Данная команда установит MySQL сервер и модуль PHP для работы с ним. В процессе установки вас попросят ввести пароль суперпользователя СУБД (root), не путать с суперпользователем системы.

Для повседневной работы с MySQL удобно использовать веб-приложение администрирования phpMyAdmin, установим его:

Установщик phpMyAdmin не умеет конфигурировать Nginx для работы с ним, поэтому ничего не выбираем на данном этапе, а все настройки выполним позже вручную.

Для этого создадим еще один файл шаблона:

и внесем в него следующий текст:

На первый взгляд синтаксис может показаться довольно сложным, но если разобрать правила по частям, то мы увидим, что ничего сложного нет. Все это мы уже обсуждали выше. Самый последний location осуществляет перенаправление на phpMyAdmin с адресов вида имя_домена/phpmyadmin.

Для подключения phpMyAdmin к сайту в описание виртуального хоста добавьте включение еще одного шаблона:

Проверьте конфигурацию и перезапустите Nginx, после чего наберите в браузере имя вашего сайта, добавив после него /phpmyadmin, если все сделано правильно, то вы попадете в админ-панель приложения.

В Ubuntu Server вы можете столкнуться с ошибкой отсутствия расширения mcrypt.

Для ее устранения выполните:

Мы не будем подробно останавливаться на дальнейшей работе с MySQL и phpMyAdmin, об этом можно подробно прочитать в соответствующей части нашей статьи Настраиваем веб-сервер на базе Apache в Debian / Ubuntu Server.

На этом настройку нашего сервера можно считать законченной. При переносе или размещении на нем новых сайтов не забывайте правильно устанавливать права и владельца. Стандартный набор прав: 644 для файлов и 755 для папок, его можно быстро установить командой:

Но учтите, что некоторые CMS требуют нестандартных прав на некоторые папки и файлы, поэтому уточните этот вопрос в документации.

Также не забывайте устанавливать правильного владельца, им должен быть пользователь, от имени которого работает веб-сервер, в нашем случае www-data, владелец устанавливается командой:

Обычно данных мер достаточно, но встречаются CMS которые требуют дополнительной настройки для работы с Nginx, в этом случае следует обратиться к документации или на форум поддержки движка. Поэтому мы еще раз повторимся, что данное решение требует определенного опыта и квалификации и не рекомендуется начинающим, а также тем, кто не хочет возиться с настройками, а хочет быстро получить работающий сайт.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

  • Nfs файловая система windows
  • Nfs сервер для windows 10
  • Nfs протокол настроить в windows 7
  • Nfs клиент для windows 10
  • Nfs драйвер для windows