nginx — это HTTP-сервер и почтовый прокси-сервер, разработанный замечательным специалистом Игорем Сысоевым. Сейчас nginx работает на множестве серверов, в том числе на большинстве серверов Рамблера.
Откройте для редактирования файл /etc/httpd/conf/httpd.conf.
Укажем Apache на просмотр порта 8080, а не 80, для этого строку
Listen 8080
указываем вместо
Listen 80
и добавим строку:
NameVirtualHost *:8080
Необходимо откорректировать по адресу /var/www/vhosts/site.ru/conf/httpd.include или другом файле с описанием VirtualHost-ов на сервер, в файле заменяем:
<VirtualHost [IP-адрес или домен]:80>
на
<VirtualHost *:8080>
Перезапускаем Apache:
При использовании типовой конфигурации nginx, Apache будет получать все запросы с единого IP-адреса, что не позволит вести корректную статистику.
Для решения проблемы необходимо установить проверить, подключается ли модуль mod_remoteip.so для Apache.
Затем в файл /etc/httpd/conf.modules.d/remoteip.conf внести опции
RemoteIPHeader X-Forwarded-For
RemoteIPInternalProxy 127.0.0.1
Перезапускаем Apache:
Конфигурационный файл nginx располагается /usr/local/nginx/conf/nginx.conf
Пример конфигурационного файла:
# Количество процессов рекомендуется устанавливать равному количеству ядер CPU
worker_processes 1;
events {
worker_connections 1024;
}
# [ debug | info | notice | warn | error | crit ]
error_log /var/log/nginx.error_log error;
http {
include mime.types;
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] $status '
'"$request" $body_bytes_sent "$http_referer" '
'"$http_user_agent" "http_x_forwarded_for"';
access_log /var/log/nginx/access.log main;
# При большой посещаемости рекомендуется отключить логирование запросов
# access_log off;
sendfile on;
tcp_nopush on;
tcp_nodelay on;
# Увеличиваем буферы для ответа
proxy_buffer_size 256k;
proxy_buffers 8 256k;
# Настройки GZIP
# http://sysoev.ru/nginx/docs/http/ngx_http_gzip_module.html
gzip on;
gzip_min_length 1100;
# Разрешает или запрещает сжатие ответа методом gzip для проксированных запросов в зависимости от запроса и ответа.
gzip_proxied expired no-cache no-store private auth;
# Разрешает сжатие ответа методом gzip для указанных MIME-типов в дополнение к text/html, который сжимается всегда.
gzip_types text/plain application/xml application/javascript application/x-javascript text/javascript text/js text/css;
# Запрещаем сжатие gzip для IE6
gzip_disable "msie6";
# Уровень gzip-компрессии
gzip_comp_level 3;
server {
listen 80 default;
server_name site.ru www.site.ru;
# access_log /var/log/httpd/access.log main;
# Main location
location / {
proxy_pass http://127.0.0.1:8080/;
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 90;
proxy_send_timeout 90;
proxy_read_timeout 90;
proxy_buffer_size 4k;
proxy_buffers 4 32k;
proxy_busy_buffers_size 64k;
proxy_temp_file_write_size 64k;
}
# Static files location
location ~*^.+\.(jpg|jpeg|gif|png|css|zip|tgz|gz|rar|bz2|doc|xls|exe|pdf|ppt|tar|wav|bmp|rtf|js)$
{
root /var/www/vhosts/site.ru/httpdocs/;
}
}
}
В секции server_name site.ru www.site.ru; указывается список доменов, которые будут обрабатываться nginx.
nginx берет на себя функции по отдаче статики, например графических файлов. Список расширений указывается в следующем блоке:
# Static files location
location ~* ^.+\.(jpg|jpeg|gif|png|css|zip|tgz|gz|rar|bz2|doc|xls|exe|pdf|ppt|tar|wav|bmp|rtf|js)$ {
root /var/www/vhosts/site.ru/httpdocs/;
}
Не забудьте указать корректный путь к корневой директории сайта.
Для автоматического запуска
# chkconfig nginx on