fastcgi_pass на сокет по GET параметру.
January 24, 2014 07:55AM
Необходимо реализовать примерную схему, подскажите в какую сторону смотреть?

location ~ ^/app\.php(/|$)
{
set $default 1;
set $socket /var/run/php-fpm-$arg_pool.sock;

if (-f $socket) {
set $default 0;
}

if ($default) {
fastcgi_pass "unix:/var/run/php5-fpm.sock";
}

if (!$default){
fastcgi_pass unix:$socket;
}

}

И необходимо что бы при отсутствии сокета, в логе не было записей.
Re: fastcgi_pass на сокет по GET параметру.
January 24, 2014 08:13AM
Пока нашел решение вот такое:

location ~ ^/app\.php(/|$)
{
error_log /dev/null crit;
fastcgi_split_path_info ^(.+\.php)(/.*)$;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_index app.php;

set $socket "unix:/var/run/php5-fpm.sock";
if ($arg_aux ~* "([^:%]+).*") {
set $socket /var/run/php-fpm-$1.sock;
}

fastcgi_pass unix:$socket;
error_page 502 = @default;
}


location @default {
internal;
fastcgi_split_path_info ^(.+\.php)(/.*)$;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_index app.php;
fastcgi_pass unix:/var/run/php5-fpm.sock;
}

Но тут отключаются логи типа "crit", что не совсем хорошо.
Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 153
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready