CentOS: Nginx в качестве frontend`а к Apache
Всё как всегда не просто, а очень просто:
Подключаем репозитарий
korp # rpm -ihv http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-4.noarch.rpm
Устанавливаем всё необходимой для дальнейшей работы
korp # yum install nginx rpm-build redhat-rpm-config httpd-devel
Скачиваем модуль mod_rpaf для Apache:
korp # wget http://yum.cocoiti.com/CentOS/5/RPMS/SRPMS/mod_rpaf-0.6-2.src.rpm
Собираем и ставим mod_rpaf
korp # rpmbuild --rebuild mod_rpaf-0.6-2.src.rpm
korp # rpm -ihv /usr/src/redhat/RPMS/i386/mod_rpaf-0.6-2.i386.rpm
Настраиваем nginx
korp # cat /dev/null > /etc/nginx/nginx.conf
korp # nano /etc/nginx/nginx.conf
user nginx;
worker_processes 2;
error_log /var/log/nginx/error.log debug;
pid /var/run/nginx.pid;
events {
worker_connections 1024;
}
http {
include /etc/nginx/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;
sendfile on;
tcp_nopush on;
tcp_nodelay on;
server {
listen 80;
server_name _;
server_name_in_redirect off;
access_log /var/log/nginx/host.access.log main;
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 10m;
}
}
}
Настраиваем Apache
korp # nano /etc/httpd/conf/httpd.conf
Listen 127.0.0.1:8080 LoadModule rpaf_module modules/mod_rpaf-2.0.so RPAFenable On RPAFsethostname Off RPAFproxy_ips 127.0.0.1 192.168.0.1 RPAFheader X-Real-IP
Запускам Apache и nginx
korp # /etc/init.d/nginx start
korp # /etc/init.d/httpd start
Добавляем в автозагрузку
korp # sudo /sbin/chkconfig nginx on
korp # sudo /sbin/chkconfig httpd on