Страница 1 из 1

php-fpm 5.3.3 & nginx

Добавлено: 2010-11-17 21:53:32
mixar
Добрый вечер!
Установил связку php-fpm 5.3.3 и nginx. Нгинкс отдает .html файлы, а вот при обращении к .php скриптам белое окно в браузере (заголовок 404 not found), хотя при запуске php-fpm нет ошибок и в его логах тоже нет ошибок. Пробовал и через сокеты и через url:port. Использую дефолтного юзера www:www.
На папку /www/localhost у юзера www:www права есть. Подскажите куда рыть? Вот мои конфиги:

Система: FreeBSD 8.1-STABLE amd64
Конфиг нгинкса:

Код: Выделить всё

user  www www; 

worker_processes  2;

error_log  /var/log/error.log;

pid        /var/run/nginx.pid;

events {
    worker_connections  1024;
}

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

    sendfile        on;
    tcp_nopush     on;
    tcp_nodelay    on;

    keepalive_timeout  65;

    upstream php-fpm {
        server 127.0.0.1:9000;
        #server unix:/tmp/php-fpm.sock;
    }

    fastcgi_intercept_errors    on;

    server {
        listen       192.168.1.10:80;
        server_name  localhost;

        location / {
            root   /www/localhost;
            index  index.php index.html index.htm;
        }

        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   /usr/local/www/nginx-dist;
        }

        location ~ \.php$ {
            fastcgi_index index.php; 
            fastcgi_pass php-fpm;
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

            include fastcgi_params;
        }
    }
}
Конфиг php-fpm

Код: Выделить всё

[global]
pid = /var/run/php-fpm.pid

error_log = /var/log/php-fpm.log

[www]
listen = 127.0.0.1:9000
;listen = /tmp/php-fpm.sock

listen.allowed_clients = 127.0.0.1,192.168.1.10

listen.owner = www
listen.group = www
listen.mode = 0666

user = www
group = www

pm = dynamic
pm.max_children = 50
pm.start_servers = 20
pm.min_spare_servers = 5
pm.max_spare_servers = 35
 
php_flag[display_errors] = on
php_admin_value[error_log] = /var/log/fpm-php.www.log
php_admin_flag[log_errors] = on
php_admin_value[memory_limit] = 32M

Re: php-fpm 5.3.3 & nginx

Добавлено: 2010-11-18 9:21:32
mixar
Черт, тупанул :st: надо было вместо:

Код: Выделить всё

server {
        listen       192.168.1.10:80;
        server_name  localhost;

        location / {
            root   /www/localhost;
            index  index.php index.html index.htm;
        }
написать:

Код: Выделить всё

server {
        listen       192.168.1.10:80;
        server_name  localhost;
        root   /www/localhost;
        location / {
            index  index.php index.html index.htm;
        }
Теперь все пашет как часы! :-D Только вот хочу понять как лучше делать upstream на продакшене: через url или через сокет? На нем будет куча vhosts крутиться.

Re: php-fpm 5.3.3 & nginx

Добавлено: 2010-11-19 19:46:29
hangover
На unix-сокетах шустрее

Re: php-fpm 5.3.3 & nginx

Добавлено: 2010-11-19 21:18:16
mixar
hangover писал(а):На unix-сокетах шустрее
Скажите а для каждого сайта обязательно делать новый сокет или можно использовать общий сокет для всех сайтов?

Re: php-fpm 5.3.3 & nginx

Добавлено: 2010-11-19 21:38:50
hangover
Можно использовать общий.
Если на площадке ожидается нагрузка, можно в конфиге php-fpm слепить пул из unix-сокетов (и даже плюс TCP-сокеты) и прицепить его к nginx-у.