Установка Nginx на CentOS 5

Для многих,  думаю, уже знакомо,  для чего данное приложение необходимо. Кто ещё не знаком, Nginx (engine x) — это легковесный веб-сервер работающий на Unix-подобных операционных системах. Nginx позволяет снизить нагрузку на основные сервера генерации динамического контента за счет быстрой отдачи статического контента клиентам. Поэтому веб-сервер Nginx чаще всего используют как Front-End сервер, а Apache – Back-End сервер. Также Nginx позволяет создать разграничение нагрузки, что очень важно для High-load проектов.

Не буду вдаваться в описание этого веб-сервера, о нем можно найти кучу информации в интернете, а приступлю непосредственно к его установке.

Установить nginx можно либо собрав его самому, либо скачать готовый и собранный пакет из репозитория. Для начала воспользуемся вторым способом.

Первым делом у нас должен быть подключен репозиторий Remi. Как его подключать я описывал в статье «Устанавливаем Apache 2, PHP 5.3 и MySQL 5.1 на CentOS 5.4/5.5» . Дальше нам понадобиться подключить репозиторий от CentALT, пакетами из которого я пользуюсь. Там всегда можно найти свежую версия Nginx.

Для добавления репозитория от CentALT создадим файл  «/etc/yum.repo.d/centalt.repo» со следующим содержимом

[CentALT]
name=CentALT Packages for Enterprise Linux 5 - $basearch
baseurl=http://centos.alt.ru/repository/centos/5/$basearch/
enabled=1
gpgcheck=0

Далее выполняем команду установки

[root@localhost ~] yum install nginx

И система нам предлагает самый последний пакет nginx (только для версии ядра 2.6.22 и выше)

================================================================================
 Package     Arch         Version                           Repository     Size
================================================================================
Installing:
 nginx       x86_64       0.9.3-1.el5                       CentALT       1.3 M
Installing for dependencies:
 GeoIP       x86_64       1.4.7-0.1.20090931cvs.el5         epel          710 k

Transaction Summary
================================================================================
Install       2 Package(s)
Upgrade       0 Package(s)

Total download size: 2.0 M
Is this ok [y/N]:

Теперь можно нажать «Y» и nginx и необходимые зависимости успешно установится в систему. Но есть одно примечание! nginx-0.9 (и его версии) на ядре 2.6.18 (CentOS) работать не будет из-за отсутствующей функции eventfd. Надо обновлять ядро минимум до версии 2.6.22.

Поэтому, если у вас старая версия ядра, то необходимо воспользоваться версией 0.8. Ставим стабильную версию

[root@localhost ~] yum install nginx-stable

Все, пакет установлен. Теперь необходимо добавить nginx в автозагрузку

[root@localhost ~] chkconfig --levels 235 nginx on

И запустим сервис

[root@localhost ~] service nginx start
Starting nginx:                                            [  OK  ]

Теперь пробуем открыть страницу http://127.0.0.1 и, если увидим надпись «Welcome to nginx» , то пакет встал успешно и функционирует.

Если вы собираетесь вручную собрать nginx, то сначала вам необходимо будет установить вот эти пакеты

[root@localhost ~] yum install gcc openssl-devel pcre-devel zlib-devel

Затем скачать нужную версию с сайта http://sysoev.ru/nginx/download.html и после этого сконфигурировать nginx, например, вот с такими параметрами

./configure \
  --prefix=/usr \
  --sbin-path=/usr/sbin/nginx \
  --conf-path=/etc/nginx/nginx.conf \
  --error-log-path=/var/log/nginx/error.log \
  --pid-path=/var/run/nginx/nginx.pid  \
  --lock-path=/var/lock/nginx.lock \
  --user=nginx \
  --group=nginx \
  --with-http_ssl_module \
  --with-http_flv_module \
  --with-http_gzip_static_module \
  --http-log-path=/var/log/nginx/access.log \
  --http-client-body-temp-path=/var/tmp/nginx/client/ \
  --http-proxy-temp-path=/var/tmp/nginx/proxy/ \
  --http-fastcgi-temp-path=/var/tmp/nginx/fcgi/

О остальных параметрах конфигурации можно прочитать вот по этой http://sysoev.ru/nginx/docs/install.html или этой ссылке http://wiki.nginx.org/InstallOptions

И после этого выполнить make install. Пакет будет установлен. Не забудьте создать скрипт инициализации «/etc/init.d/nginx» и установить ему необходимые права на доступ. Содержимое скрипта инициализации можно взять вот с этого сайта http://wiki.nginx.org/RedHatNginxInitScript

Всю конфигурацию nginx теперь можно найти в файле «/etc/nginx/nginx.conf». Там Вы и сможете управлять необходимыми виртуальными хостами.

На этом все. Вот список сайтов и ссылок которые вам возможно пригодятся.