URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 84184
[ Назад ]

Исходное сообщение
"nginx + apache = мозготрёпка! :)"

Отправлено studovnet , 19-Фев-09 20:29 
Всем привет ... уже отпарил себе все мозги этой настройкой!

Поставил на сервак nginx, вроде настроил как было показано в различных статьях .... вот только нифига не пашет .... точнее пашет только, что то не так,  вместо того, чтобы отдавать нужный контент перенаправляет совсем в левую папку (/var/www/html/), а должно в (/var/www/vhosts/site.com/httpdocs/)!

ОС: FedoraCore 8
Apache 2.2.9
nginx 0.5.32

файл /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    _;
                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;
                 root /var/www/vhosts/*/httpdocs/;
                 }
                }
       }

в файле /etc/httpd/conf/httpd.conf
исправил listen на

Listen 127.0.0.1:8080

Файл /etc/httpd/conf.d/rpaf.conf

LoadModule rpaf_module modules/mod_rpaf-2.0.so
RPAFenable On
RPAFproxy_ips 127.0.0.1 xx.xx.xx.xx
RPAFheader X-Real-IP

Вместо xx.xx.xx.xx IP - моего сервака.

Но оно как было написано отправляет запрос куда влево ... ничего не пойму ... что я не так настроил то?


Содержание

Сообщения в этом обсуждении
"nginx + apache = мозготрёпка! :)"
Отправлено PavelR , 19-Фев-09 21:10 
Директива root - статика, proxy_pass - уход на апач за динамикой... в одном локейшне как-бы слегка не совместимо..

root /var/www/vhosts/*/httpdocs/;

Звездочку - нафиг. на что её должно будет заменить ?


Надо:

1. Отдельный локейшн /  для динамики, общий для всех запросов, если не будет регулярок.

2. Отдельный локейшн - для статики, регуляркой по наличию расширения выделяй типы файлов, которые отдаются напрямую с диска.



"nginx + apache = мозготрёпка! :)"
Отправлено angra , 19-Фев-09 21:21 
Если вы передаете все на апач, то root роли не играет. Распознает ли апач виртуалхосты? Если да, то вот минимальный рабочий вариант, замените только sitename
server {
    listen       80;
    server_name  sitename;

    access_log  /var/log/nginx/sitename.access.log;

    location / {
        proxy_pass   http://127.0.0.1:8080
        proxy_set_header  X-Real-IP  $remote_addr;
        proxy_set_header Host $host;
    }
}

Как заработает сделайте перенаправление на апач только динамики и оставьте nginx статику. Ну а потом уже можно на fastcgi перейти и вообще от апача избавится :)