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