Установка nginx
Качаем последнюю стабильную версию nginx с официального сайта http://nginx.org/ru/download.html
wget http://nginx.org/download/nginx-1.2.6.tar.gz
tar xzf nginx-1.2.6.tar.gz
cd nginx-1.2.6
Конфигурируем со следующими опциями, опции можете изменить на свое усмотрение, и устанавливаем:
./configure --prefix=/usr/local/nginx --conf-path=/usr/local/nginx/etc/nginx.conf --http-log-path=/var/log/nginx/access.log --pid-path=/var/run/nginx/nginx.pid --user=apache --group=apache --without-mail_pop3_module --without-mail_imap_module --without-mail_smtp_module --with-http_stub_status_module
make
make install
Добавляем сервис nginx.
wget -O /etc/init.d/nginx http://unixblog.in.ua/files/nginx/nginx
Правим конфигурационный файл nginx-а, указываем что бы он слушал 85-й порт. Или можете скачать готовый конфиг.
wget http://unixblog.in.ua/files/nginx/nginx.conf
Подключаем файл, в котором будут хранится записи о пользователях, предварительно создав его.
touch /usr/local/nginx/etc/virtual.conf
Что бы корректно отображались картинки в phpMyAdmin, создадим симлинк:
ln -s /var/www/html/phpMyAdmin /var/www/html/phpmyadmin
Все настройка nginx-а закончена.
Установка плагина
Скачиваем, распаковываем и заходим в папку установки:
wget http://unixblog.in.ua/files/nginx/nginx_plugin.tar.gz
tar -xzvf nginx_plugin.tar.gz
cd nginx_plugin
./install
Все, установка завершена, выполняем создание конфигурационных файлов для ранее созданных пользователей
/usr/local/directadmin/scripts/nginx_direct.sh all
/etc/init.d/nginx start
Запускаем nginx (если он запустился самостоятельно, делаем restart).
service nginx restart
Теперь нужно добавить nginx в автозагрузку и прописать правила iptables, для проброса портов:
chkconfig --add nginx
iptables -t nat -A PREROUTING -d xxx.xxx.xxx.xxx -p tcp -m tcp --dport 80 -j DNAT --to-destination xxx.xxx.xxx.xxx:85
iptables-save > /etc/sysconfig/iptables
Установка связки завершена.
Еще нужно будет прикрутить mod_rpaf к apache, для этого можно воспользоваться инструкцией Установка mod_rpaf.
Немного о плагине.
Шаблоны конфигурационных файлов nginx, находится в папке /usr/local/directadmin/data/templates/custom.
Так же есть возможно создавать отдельный конфиг файлы nginx-а для определённого домена. Для этого нужно создать файл: /usr/local/directadmin/data/users/USERNAME/domains/DOMAIN_NAME.custom_nginx, в нем создать виртуальный хост с нужными настройками и переписать конфигурационный файл для пользователя:
/usr/local/directadmin/scripts/nginx_direct.sh -u username
Что бы переписать конфигурационные файлы для всех пользователей, нужно запустить скрипт с параметром “all”
/usr/local/directadmin/scripts/nginx_direct.sh all
Если nginx при рестарте выдает массово [warn]: conflicting server name, значит какой-то из доменов в конфиге встречается несколько раз.
Решение проблемы:
1) Чистим все конфиги от данного домена(/usr/local/directadmin/data/users/USERNAME/nginx.conf /usr/local/nginx/etc/virtual.conf)
2) Массово пересоздаем конфигурационные файлы
find /usr/local/directadmin/data/users/*/ -name nginx.conf -print | tar czf /root/nginxusersconf.tar.gz -T -
find /usr/local/directadmin/data/users/*/ -name nginx.conf -delete
rm -f /usr/local/nginx/etc/virtual.conf
touch /usr/local/nginx/etc/virtual.conf
/usr/local/directadmin/scripts/nginx_direct.sh all