
Сегодня будем рассматривать оптимизацию посредством внедрения nginx .
Изначальные условия: работающий сервер на centos 6.2, на котором стоит apache+php+mysql и несколько расширений и модулей для php, на которых мы заостряться не будем. На сервере крутится ~25 сайтов настроенных как virtual hosts.
Появилась необходимость настроить nginx как frontend и apache как backend соответственно. Последняя стабильная версия nginx оказалась в репозитории epel, который надо подключать отдельно. К сожалению там не оказалось по умолчанию некоторых модулей, и было принято решение собирать nginx самостоятельно. Для удобства, а так же в целях удобства администрирования было решено собирать rpm из src.rpm. Это даст нам возможность пересобрать пакет, если нас что-то не устроит, безболезненно его удалить, а так же не упустить никаких зависимостей пакета. В пакетных дистрибутивах, будь то rpm-based или deb-based, всегда рекомендуется установка из пакетов.
Для начала подключим репозиторий EPEL командой:
# rpm -Uvh http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-5.noarch.rpm
# rpm –import http://dl.fedoraproject.org/pub/epel/RPM-GPG-KEY-EPEL
Затем включим репозиторий с пакетами исходников, отредактировав файл /etc/yum.repos.d/epel.repo
# nano /etc/yum.repos.d/epel.repo
В секции epel-source меняем значение enabled=1 .
Далее установим пакеты необходимые для сборки:
# yum install yum-utils rpmdevtools gcc make
Скачиваем исходники пакета:
# yumdownloader –source nginx
Пакет скачается в директорию в которой мы находимся. Установим его:
# rpm –ivh nginx -1.0.14-1.el6.src.rpm
Не стоит пугаться сообщений вида:
warning: user mockbuild does not exist – using root
warning: group mockbuild does not exist – using root
Для нашей задачи эти уведомления никакой роли не играют. Ошибки здесь тоже никакой нет.
Установим зависимости исходников для сборки:
# yum-builddep nginx -1.0.14-1.el6.src.rpm
У нас появилась папка rpmbuild, а в ней папка SPECS, а в ней nginx.spec, отредактируем его:
# nano ~/rpmbild/SPECS/nginx.spec
Редактируем по своему желанию, а можем и оставить как есть.
Приступаем к сборке:
# rpmbuild -ba ~/rpmbuild/SPECS/nginx.spec
# cd ~/rpmbuild/RPMS/x86_64/
# ls –l
А вот и наш готовый пакет. Устанавливаем:
# rpm -ivh nginx-1.0.14-1.el6.x86_64.rpm
Первая часть закончена. Остается настроить.
Read more…
Recent Comments