php-fpm+nginx настройка

Здравствуйте, Решил попробовать настроить на VDS php-fpm+nginx под LS. В процессе возникли проблемы, если не сложно можно глянуть конфиги и подсказать в где у меня ошибки… ну кроме ДНК =)

в папке/etc/nginx/sites-available/spagency.org
]Счас такой, был немного другой но я уже сократил до минимума

server {
        listen 80;
        server_name spagency.org

        access_log /var/log/nginx/spagency.access_log;
        error_log /var/log/nginx/spagency.error_log;

        root /var/www;
        index index.php;

        location / {
                index index.php index.html;
                if (!-e $request_filename) {
                        rewrite ^(/.*)$ /index.php?q=$1 last;
                        break;
                }
        }

        location ~ .php$ { 
                fastcgi_pass unix:/tmp/fastcgi.socket;
                fastcgi_index index.php;
                fastcgi_param SCRIPT_FILENAME /var/www$fastcgi_script_name;
                include fastcgi_params;
        }

        location ~ .(tpl|xml|log)$ {
                deny all;
        }
}


vi /etc/php5/fpm/php-fpm.conf

В конце добавлено:

pm.max_children = 25
pm.start_servers = 4
pm.min_spare_servers = 2
pm.max_spare_servers = 10
pm.max_requests = 500

в /etc/php5/fpm/pool.d/www.conf
listen = /tmp/fastcgi.socket


По логам:

энджикс:

2012/08/16 03:38:58 [error] 807#0: *233 directory index of "/var/www/" is forbidden, client: 195.206.33.26, server: localhost, request: "GET / HTTP/1.0", host: "www.spagency.org"
2012/08/16 03:46:20 [error] 807#0: *234 directory index of "/var/www/install/" is forbidden, client: 195.206.33.26, server: localhost, request: "GET /install/ HTTP/1.0", host: "www.spagency.org"
2012/08/16 03:46:21 [error] 807#0: *234 open() "/var/www/favicon.ico" failed (2: No such file or directory), client: 195.206.33.26, server: localhost, request: "GET /favicon.ico HTTP/1.0", host: "www.spagency.org"
2012/08/16 03:46:23 [error] 807#0: *234 directory index of "/var/www/" is forbidden, client: 195.206.33.26, server: localhost, request: "GET / HTTP/1.0", host: "www.spagency.org"
2012/08/16 03:46:32 [error] 807#0: *235 connect() failed (111: Connection refused) while connecting to upstream, client: 93.158.155.137, server: spagency.org, request: "GET / HTTP/1.1", upstream: "http://127.0.0.1:81/", host: "spagency.org"


пхп-фпм:
[16-Aug-2012 03:53:59] NOTICE: exiting, bye-bye!
[16-Aug-2012 03:53:59] NOTICE: fpm is running, pid 10540
[16-Aug-2012 03:53:59] NOTICE: ready to handle connections


Насколько я понимаю fpm слушает, но энджикс не определяет php как скрипт который нужно выполнять и не обращается к нему. При прямом указании на php он его скачивает.

И ещё он логи пишет в /var/log/nginx/error.log хотя я ему указываю в конфиге error_log
/var/log/nginx/spagency.error_log;


То есть на сколько я понимаю ему вообще пофиг на мой конфиг и он живет своей жизнью?

В /etc/nginx/nginx.conf указано следующее:

user www-data;
worker_processes  1;

error_log  /var/log/nginx/error.log;
pid        /var/run/nginx.pid;

events {
    worker_connections  1024;
}

http {
    include       /etc/nginx/mime.types;
    default_type  application/octet-stream;
    server_names_hash_bucket_size 64;
    access_log  /var/log/nginx/access.log;

    types_hash_bucket_size 64;

    sendfile        on;
    #tcp_nopush     on;

    #keepalive_timeout  0;
    keepalive_timeout  65;
    tcp_nodelay        on;


    gzip                on;
    gzip_proxied        any;
    gzip_min_length     1100;
    gzip_http_version   1.0;
    gzip_buffers        4 8k;
    gzip_comp_level     9;
    gzip_types          text/plain text/css application/x-javascript text/xml application/xml application/xml+rss text/javascript;


    include /etc/nginx/conf.d/*.conf;
    include /etc/nginx/sites-enabled/*;
}

Собственно я понимаю что косяк какой то тупой но сообразить не могу.

И ещё если я забиваю адрес www.spagency.org/install то он меня перекидывает на localhost/install/
И запускает nginx как то по разному по адресам spagency.org и www.spagency.org

по одному 403 по другому 502 ошибки =)

это я в hoths, настройках DNS закосячил или тоже в конфиге энжикса?

# IPv4
127.0.0.1 localhost
127.0.0.1. spagency.org www.spagency.org
78.47.50.26 Debian-60-squeeze-64-LAMP.spagency.org Debian-60-squeeze-64-LAMP


$TTL 86400
@   IN SOA ns1.first-ns.de. postmaster.robot.first-ns.de. (
    2012081500   ; serial
    14400        ; refresh
    1800         ; retry
    604800       ; expire
    86400 )      ; minimum
 
@                        IN NS      robotns3.second-ns.com.
@                        IN NS      robotns2.second-ns.de.
@                        IN NS      ns1.first-ns.de.
 
@                        IN A       78.47.50.26
localhost                IN A       127.0.0.1
mail                     IN A       78.47.50.26
www                      IN A       78.47.50.26
ftp                      IN CNAME   www
imap                     IN CNAME   www
loopback                 IN CNAME   localhost
pop                      IN CNAME   www
relay                    IN CNAME   www
smtp                     IN CNAME   www
@                        IN MX 10   mail
">

5 комментариев

avatar
В /etc/nginx/sites-enabled/ что лежит?
  • ort
  • 0
avatar
симлинк на /etc/nginx/sites-available/spagency.org
avatar
Собственно убил все и поставил по чистому минимальный деб и потом с гайда livestreet.ru/blog/dev_documentation/10626.html, phpшки работают. энжикс и фпм запустились. Дальше уже сам конфигурационную, так и не понял что это было, а жаль, но времени нет разбираться.
avatar
Вот в этом куске

location / {
                index index.php index.html;
                if (!-e $request_filename) {
                        rewrite ^(/.*)$ /index.php?q=$1 last;
                        break;
                }
        }


директиву индекс надо выкинуть на уровень вверх (в server), а все что ниже бестпрактисы предлагают переписать как
try_files $uri $uri/ /index.php?q=$uri;


Но в целом nginx настроен вроде бы правильно, ну всякую ерунду типа прав и перезагрузки конфигов nginx после правки я думаю уже проверили.

Вот это
(111: Connection refused) while connecting to upstream

намекает нам на то, что отлуп дает php-fpm. Надо ковырять его логи
avatar
upd:
try_files $uri $uri/ /index.php?q=$uri&$args;


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