Установка 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». Там Вы и сможете управлять необходимыми виртуальными хостами.
На этом все. Вот список сайтов и ссылок которые вам возможно пригодятся.
- http://sysoev.ru/nginx/ — Сайт разработчика
- http://wiki.nginx.org — Wiki с большим количеством примеров
- http://habrahabr.ru/blogs/nginx/56497/ — Тюнинг nginx