Установка nginx как front-end к apache в Debian / Ubuntu - 2
- 15.06.2009
- Тэги:
apache
,debian
,nginx
,ubuntu
,web-сервер
- Просмотров: 1906
Предыдущая часть: Установка nginx как front-end к apache в Debian / Ubuntu
Установка и настройка Apache
Установка Apache
Установка проста:
$ sudo aptitude install apache2
Настройка Apache
Корректируем конфигурационный файл:
$ sudo vim /etc/apache2/apache2.conf
Необходимо найти и скорректировать следующие строки (при отсутствии добавить):
# Таймаут 90 секунд
Timeout 90
# Выключаем KeepAlive
KeepAlive Off
# Имя сервера
ServerName debianworld.ru
Перезагружаем apache:
$ sudo apache2ctl graceful
Проверяем корректную настройку apache, открываю в браузере: "http://192.168.0.1" (IP той машины, где был установлен apache). Должно появиться "It works!".
Отключаем хост по умолчанию:
$ sudo a2dissite 000-default
Настраиваем apache на работу с портом 8080, а не 80:
$ sudo vim /etc/apache2/ports.conf
Должен иметь вид:
NameVirtualHost *:8080
Listen 8080
Перезагружаем apache, nginx:
$ sudo apache2ctl graceful
$ sudo /etc/init.d/nginx start
Настройка mod_rpaf
Теперь, если посмотреть в логи apache, то там все запросы будут идти с адреса front-end'a. Чтобы это исправить, необходимо установить модуль mod_rpaf:
$ sudo aptitude install libapache2-mod-rpaf
И настроить его:
$ sudo vim /etc/apache2/mods-enabled/rpaf.conf
Должен выглядеть примерно так:
<IfModule mod_rpaf.c>
# Включаем модуль
RPAFenable On
# Приводит в порядок X-Host
RPAFsethostname On
# Адрес фронтенда (nginx)
RPAFproxy_ips 127.0.0.1 192.168.0.1
</IfModule>
Перезагружаем apache:
$ sudo /etc/init.d/apache2 force-reload
Настройка виртуального хоста в Apache
Создаем файл виртуального хоста:
$ sudo vim /etc/apache2/sites-available/debianworld.ru
Приблизительно следующего содержания:
<VirtualHost *:8080>
# Осн. настройки домена
ServerAdmin admin@debianworld.ru
ServerName www.debianworld.ru
ServerAlias debianworld.ru
<Directory /home/sites/debianworld.ru/apache/>
Order deny,allow
Allow from all
</Directory>
LogLevel warn
ErrorLog /home/site/debianworld.ru/logs/apache_error.log
CustomLog /home/site/debianworld.ru/logs/apache_access.log combined
# Остальные настройки
# ...
</VirtualHost>
Включаем новый хост:
$ sudo a2ensite <domain name>
$ sudo /etc/init.d/apache2 reload