ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: archlinux, nginx и php-fastcgi...


  • To: nginx-ru@xxxxxxxxx
  • Subject: Re: archlinux, nginx и php-fastcgi...
  • From: "Alexey Karagodov" <karagodov@xxxxxxxxx>
  • Date: Mon, 8 Oct 2007 20:00:58 +0400
  • Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=beta; h=domainkey-signature:received:received:message-id:date:from:to:subject:in-reply-to:mime-version:content-type:references; bh=Mkh5rRt5/ue0b+e7nfcU7+u1pljTfOp0raZoqlX02ao=; b=nTLM/a8wO7LidzwebP7w1FgsyeT6gTm70N6SM9DHnpemi1mTlZd/4No9WyhEgeXf8QI5t89X3ERUs6xPOUkutD3iA6un1cvYyZJYQ3foHj6V/Vq980dBA4vQPadZYSKzkC49UDcPjOriY/CKs10KoKR8fTRwxDJow299VcEzRHA=
  • Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=beta; h=received:message-id:date:from:to:subject:in-reply-to:mime-version:content-type:references; b=KgS2cMIA7KRcUGGHIdF9MxmGSBVBOgucKxNTf6fURrGLfUcTm1bSVn1eep2Ocb8C+DBVBwuW3uKqQvpPxpseyA/c/uPrPeRJobvySZXL1dr6TPRpfOuoQsJZDbCwZUIjFpHJpCS+CHubLUhOoJhBjRQD169slSJvkeyOcwn6Qhk=
  • In-reply-to: <470A4DB3.2020801@xxxxxx>
  • References: <4709D43B.4050506@xxxxxx> <c7aff4ef0710080119h7ab5012aq5bfca35a688159ca@xxxxxxxxxxxxxx> <470A4DB3.2020801@xxxxxx>

ты ведь внимательно читал логи с ошибками? 
где-то root не задан и используется значение по умолчанию 
смотри внимательно конфиг 
вот например у тебя есть директива - root $_document_root; 
а чему равна переменная $_document_root ? 
её надо задать директивой set $_document_root=ХХХХХХХХХХХ; 
и задавать её надо везде, ибо ты юзаешь конфигурацию fastcgi (fastcgi_param) в нгинх-е, которая использует эту НЕзаданную переменную 
и ещё, конфигурацию fastcgi (fastcgi_param) надо вынести в файл и инклудить везде, перед fastcgi_pass т.к. я слышал такую вещь, что если эти переменнуе единожды задать в конфиге, то они не все применятся, чтоли при fastcgi-pass-е ... 
возможно, я ошибаюсь, если кто в курсе, поправьте пожалуйста ... 

2007/10/8, eveel <eveel@xxxxxx>:
Alexey Karagodov пишет:
> ну нахрена здесь конфег пхп, да ещё с конфегаме?
> оч удобно ...
> :)))
Для более аккуратного выявления проблемы.

Сейчас прикрутил подобие твоего конфига, но оно не заработало, хотя
ошибка уже изменилась. При обращении к /, возникает ошибка доступа -
403, в логах следующее:
-- access.log --
90.150.143.21 - - [08/Oct/2007:21:28:07 +0600] "GET / HTTP/1.1" 403 169
"-" "Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.1.7) Gecko/20070918
BonEcho/2.0.0.7"
--

-- error.log --
2007/10/08 21:28:07 [error] 5468#0: *1 directory index of
"/etc/nginx/html/" is forbidden, client: 90.150.143.21, server:
eveel.kicks-ass.org, URL: "/", host: " eveel.kicks-ass.org:8080"
--

Внимание вопрос: что оно забыло в каталоге /etc/nginx/html, хотя в
конфиге явно указано, что root /srv/www/nginx/spectrum?
Изменённый конфиг в аттаче.


fastcgi_param  QUERY_STRING       $query_string;
fastcgi_param  REQUEST_METHOD     $request_method;
fastcgi_param  CONTENT_TYPE       $content_type;
fastcgi_param  CONTENT_LENGTH     $content_length;

fastcgi_param  SCRIPT_NAME        $fastcgi_script_name;
fastcgi_param  REQUEST_URI        $request_uri;
fastcgi_param  DOCUMENT_URI       $document_uri;
fastcgi_param  DOCUMENT_ROOT      $document_root;
fastcgi_param  SERVER_PROTOCOL    $server_protocol;

fastcgi_param PATH_TRANSLATED     $_document_root$fastcgi_script _name;

fastcgi_param  GATEWAY_INTERFACE  CGI/1.1;
fastcgi_param  SERVER_SOFTWARE    nginx/$nginx_version;

fastcgi_param  REMOTE_ADDR        $remote_addr;
fastcgi_param  REMOTE_PORT        $remote_port;
fastcgi_param  SERVER_ADDR        $server_addr;
fastcgi_param  SERVER_PORT        $server_port;
fastcgi_param  SERVER_NAME        $server_name;

# PHP only, required if PHP was built with --enable-force-cgi-redirect
fastcgi_param  REDIRECT_STATUS    200;

user nginx;
worker_processes 2;

events {
    use epoll;
    worker_connections 1024;
}

http {
    include conf/mime.types;
    default_type application/octet-stream;

    sendfile on;
    tcp_nopush on;
    tcp_nodelay on;

    keepalive_timeout  65;

    # mongrel proxy
    upstream mongrel {
        server 127.0.0.1:8000 ;
        server 127.0.0.1:8001;
    }

    # rails server
    server {
        listen 80;
        server_name eveel.kicks-ass.org ;
        charset off;

        location / {
            root /srv/www/nginx/kopa.info;
            index index.html index.htm;
        }

        # serve the /files/ catalog as static
        location ~ /public/* {
            root /srv/www/nginx;
            autoindex on;
        }

        # / -> first search for local index.html then go to mongrel
        location ~ ^/$ {
            if (-f /index.html) {
                rewrite (.*) /index.html last;
            }
            proxy_pass http://mongrel;
        }

        # rails caching: searching first for $action.html local pages
        location / {
            if (!-f $request_filename.html) {
                proxy_pass http://mongrel;
            }
            rewrite (.*) $1.html last;
        }

        # serve static files directly
        location ~* ^.+\.(jpg|jpeg|gif|png|ico|css|zip|tgz|gz|rar|bz2|doc|xls|exe|pdf|ppt|txt|tar|mid|midi|wav|bmp|rtf|html|xhtml|js|mov)$ {
            root /srv/www/nginx/kopa.info /public;
        }

        # resend everything else to mongrel
        location / {
            proxy_pass  http://mongrel;
            proxy_redirect off;
            proxy_set_header Host $http_host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        }
    }

    # php-fastcgi upstream
    upstream php {
        server unix:/tmp/php- fcgi.sock;
    }

    # php server
    server {
        listen 8080;
        server_name eveel.kicks-ass.org;
        charset off;

        # serve the /files/ catalog as static
        location ~ /public/* {
            root /srv/www/nginx;
            autoindex on;
        }

        set $_document_root /srv/www/nginx/spectrum;
        # redirect to php
        location ~ \.php$ {
                fastcgi_index index.php;
                include /etc/nginx/conf/fastcgi_params;
                root $_document_root;
                fastcgi_pass php;
        }
    }
}




 




Copyright © Lexa Software, 1996-2009.