Счетчик

Поисковый анализ сайта
яндекс.ћетрика
Cервер и сайт запущен 2011.02.01 на Debian

Связка двух веб-серверов, один из которых выполняет функцию фонтенда(Nginx), другой - бэкенда (Apache2), предназначена для снижения общей нагрузки на сервер. Достигается это за счет того, что более легкий и не обремененный дополнительным функционалом Nginx первым принимает все запросы пользователей. Он самостоятельно выдает по запросам статический контент, не озадачивая этой функцией тяжеловесный Apache2, который, в свою очередь, обрабатывает динамический контент. Apache2 не работает напрямую с пользователем, все их запросы проксируются Nginx, и ему же возвращаются ответы. Так достигается разделение труда: Nginx освобождает Apache от необходимости "общаться" с множеством пользователей и обрабатывать запросы на статику, которая составляет большую часть исходящего трафика. Apache не создает множества дочерних процессов, потребляющих оперативную память. Данная связка часто применяется для обеспечения работы крупных ресурсов с большой посещаемостью. Для ресурсов с маленькой посещаемостью такая связка не даст ощутимого прироста производительности.


Начнём с добавления стороннего репозитория для Debian 6, т.к. в стандартом репозитории nginx не новый. 
Открываем в редакторе «/etc/apt/sources.list» 

nano /etc/apt/sources.list



В конец файла добавляем две строчки: 

deb http://packages.dotdeb.org squeeze all
deb-src http://packages.dotdeb.org squeeze all



Добавляем ключ репозитория, в консоле выполняем: 

wget http://www.dotdeb.org/dotdeb.gpg
cat dotdeb.gpg | sudo apt-key add -



Обновляем кеш пакетов: 

apt-get update



И устанавливаем Nginx 

apt-get install nginx



Если LAMP не установлен. устанавливаем его: 
Установим Apache2: 

apt-get install apache2



Установим php5: 

apt-get install libapache2-mod-php5 php5 php5-common php5-curl php5-gd php5-imagick php5-mcrypt php5-memcache php5-mhash php5-mysql php5-pspell php5-snmp php5-sqlite php5-xmlrpc php5-xsl



Установим Mysql-Server: 

apt-get install mysql-server mysql-client



Установим phpmyadmin: 

apt-get install phpmyadmin



Для удобства добавления виртуальных хостов в apache2 по желанию можно установить Webmin: 
Переходим в папку tmp для этого набираем: 

cd /tmp


Далее скачиваем установочный пакет: 

wget http://prdownloads.sourceforge.net/webadmin/webmin_1.580_all.deb



После того как процесс скачивания пакета завершился нам нужно его установить, для установки набираем: 

dpkg -i webmin_1.580_all.deb



Если dpkg ругнулся на зависимости набираем следующее: 

apt-get install -f



С установкой всех компонентов сервера мы закончили, приступим к настройкам. 
Настраиваем Nginx:
Создаем конфигурационный файл proxy.conf 

nano /etc/nginx/proxy.conf



Вписываем следующее 

proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
client_max_body_size 10m;
client_body_buffer_size 128k;
proxy_connect_timeout 1500;
proxy_send_timeout 1500;
proxy_read_timeout 1500;
proxy_buffer_size 4k;
proxy_buffers 4 32k;
proxy_busy_buffers_size 64k;
proxy_temp_file_write_size 64k;
proxy_ignore_client_abort on;



Сохраняем, закрываем. 

В каталоге «/etc/nginx/sites-available/» создаем конфиг виртуального хоста. 
nano /etc/nginx/sites-available/soft-komi.ru.conf
Пример виртуального хоста: 

upstream soft-komi_ru {
# Адрес back-end'a
server 127.0.0.1:81;
}
server {
listen 80;
server_name soft-komi.ru www.soft-komi.ru;
access_log /var/log/nginx/soft-komi.ru_access.log;
error_log /var/log/nginx/soft-komi.ru_error.log;
# Перенаправление на back-end
location / {
proxy_pass http://soft-komi_ru;<br< a=""> style="margin: 0px; padding: 0px;">include /etc/nginx/proxy.conf;
}
# Статическиое наполнение отдает сам nginx
# back-end этим заниматься не должен
location ~* \.(jpg|jpeg|gif|png|ico|css|bmp|swf|js)$ {
root /var/www/путь_к_Вашему_сайту;
}
}



Для того, чтобы Nginx прочитал конфиг создаём символическую ссылку 

ln -s /etc/nginx/sites-available/site.com.conf /etc/nginx/sites-enabled/



Настройка Apache2:
Меняем порт по умолчанию для apache2, открываем 

nano /etc/apache2/ports.conf



И меняем значения «NameVirtualHost» и «Listen» с 80 порта на 81, должно получится так: 

NameVirtualHost *:81
Listen 81



Сохраняем, закрываем. 
Пример Виртуал хоста для apache2 

<VirtualHost *:81>
DocumentRoot /var/www/путь_к_Вашему_сайту
ServerName soft-komi.ru
ServerAlias www.soft-komi.ru
<Directory "/var/www/путь_к_Вашему_сайту">
allow from all
Options -Indexes
</Directory>
</VirtualHost>



Перезагружаем оба веб сервера 

/etc/init.d/apache2 restart && /etc/init.d/nginx restart


Дальше больше, ожидаем!

Добавить комментарий


Защитный код
Обновить