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

Статьи Apache, ISS и др. серверы

Дата публикации: 22.08.2007
Автор статьи:
Источник: (Оригинал: Перейти)

 

Взято с http://www.linuxcenter.ru

 

Изменения и дополнения приветствуются. Установка производится на ОС 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 Взято с http://www.linuxcenter.ru

Copyright © 2006—2011 "Портал RusCentOS"
Хостинг нашего сайта в ООО "КосмоХост" (на HostCMS v. 4.0)

Ссылки на сайты партнеров