The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Установка и настройка web-сервера nginx (web nginx http netbsd)


<< Предыдущая ИНДЕКС Правка src / Печать Следующая >>
Ключевые слова: web, nginx, http, netbsd,  (найти похожие документы)
From: Михаил Сгибнев <mixa(@).dreamcatcher.ru> Date: 2006-09-13 15:37:07 Subject: Установка и настройка web-сервера nginx
Автор: Сгибнев Михаил

В этом документе описывается рассматривается процесс установки и настройки web-сервера nginx.

Изменения и дополнения приветствуются. Установка производится на ОС NetBSD 2.0.2

Установка

Скачиваем архив nginx-0.1.41.tar.gz (последняя версия на момент написания статьи) с основного сайта проекта http://sysoev.ru/nginx/download.html. Так же нам понадобятся библиотеки ZLIB и PCRE, которые можно взять с сайта производителя (http://www.gzip.org/zlib/ и http://www.pcre.org/). Распакуем библиотеки: Для установки nginx нам потребуется выполнить следующий порядок действий (учитывая, что архивы библиотек и сервера находятся в одном каталоге): Мы должны получить примерно такой вывод: Если библиотеки ZLIB и PCRE были установлены из системы портов, то необходимости скачивать архивы этих библиотек нет, достаточно указать следующие параметры утилиты ./configure: Тогда вывод будет следующим: Компилируем и устанавливаем nginx: Если планируется редактирование файлов конфигурации или загрузка файлов в каталоги от имени непривилегированного пользователя, то можно воспользоваться такой командой: Для получения более подробной информации о параметрах configure, используйте команду: Одной из полезных опций является --with-cpu-opt, которая позволяет произвести оптимизацию по типу процессора. Доступными параметрами являются: pentium, pentiumpro, pentium4, sparc64.

Настройка

Приступим к настройке сервера.

Как таковых, вариантов развития событий у нас три: Разберем сперва, как самый экзотический, третий вариант. Задействовать этот режим можно включив опцию --with-imap при запуске ./configure Смысл заключается в следующем:

Предположим, что у нас есть несколько серверов imap/pop3. Перед ними ставится nginx, который по получении имени и пароля ходит по HTTP к специальному авторизационному серверу.

Если серверу нравится имя и пароль, то он говорит, к какому imap/pop3 серверу нужно присоединиться и продолжить imap/pop3 сессию, после чего nginx просто проксирует данные в обе стороны.

Если же не нравится, то nginx передает клиенту то, что именно не нравится.

Конфигурация, в этом случае, будет выглядеть следующим образом: Структура запроса к серверу авторизации: Запрос: Хороший ответ: Плохой ответ: Во втором случае nginx отдаёт клиенту строку "Invalid login or password", ждёт 3 секунды и снова готов принимать login/password. Рассмотрим теперь первый вариант - использование в качестве полноценного web-сервера. В самой простой конфигурации предполагается отдача статического контента. Рассмотрим такой файл конфигурации: Указываем имя пользователя и количество одновременно запущенных процессов. Задаем размещение журнальных файлов и идентификатора процесса. Как известно, NetBSD 2.0 поддерфивает методы kqueue, select и poll. Два последних являются стандартными для UNIX-систем, но не обеспечивают оптимального быстродействия. Мы будем использовать метод kqueue. В блоке, приведенном выше, мы включили сжатие, установили минимальную длинну ответа, при которой будет использоваться сжатие, указали коэффициент сжатия (9) и тип сжимаемого контента (учтите, что text/html сжимается всегда). Более подробную информацию можно посмотреть по адресу: http://sysoev.ru/nginx/docs/http/ngx_http_gzip_module.html Кодировка документов сайта - windows-1251. Рано или поздно встанет вопрос выполнения динамических страниц. Оговоримся сразу, что поддержка выполнения сценариев cgi вряд либудет когда-либо реализована в силу трудоемкости. В настоящее время есть возможность выполнения php с помощью fastcgi сервера. Для реализации данной идеи следует выполнить следующий нехитрый набор действий:

Конфигурация, используемая далее, взята с сайта www.nginx.info

Чтобы настроить связку nginx+fastcgi+php необходимо : запустить php как fastcgi сервер (порт или unix сокет), указать nginx отправлять файлы с расширением *.php на fastcgi сервер (пример фалйа конфигурации ниже). php можно запустить, как fastcgi сервер, двумя способами: (в обоих случаях надо сначала собрать php с опцией --enable-fastcgi) Пример конфигурации для nginx (начиная с 0.1.29): (это все прописывается в секцию требуемого server {...}) В данном случае, fastcgi принимает запросы через сокет UNIX и все файлы php отправляются к fastcgi серверу Возможен мониторинг состояния nginx с помощью Munin. Вот пример конфигурационных файлов nginx_request.txt и nginx_status.txt Результат:
pics.rate.ee-nginx_request-day.png
pics.rate.ee-nginx_request-month.png
pics.rate.ee-nginx_request-week.png
pics.rate.ee-nginx_request-year.png
pics.rate.ee-nginx_status-day.png
pics.rate.ee-nginx_status-month.png
pics.rate.ee-nginx_status-week.png
pics.rate.ee-nginx_status-year.png
(совет предоставлен Андреем Ситниковым).

Дополнительную информацию можно получить на сайте, посвященному nginx - http://nginx.info/ Пример, когда nginx выступает в роли прокси-сервера, достаточно подробно рассмотрен на странице http://www.sysoev.ru/nginx/docs/example.html.

<< Предыдущая ИНДЕКС Правка src / Печать Следующая >>

 Добавить комментарий
Имя:
E-Mail:
Заголовок:
Текст:




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру