Estou executando o nginx e o php-fpm e quero configurar jails para cada host. Minha configuração é um pouco complicada, então seguir os tutoriais na web não me leva a lugar nenhum.
Cada site tem um diretório /var/www/domain.name /
Dentro desse diretório, haverá um diretório / public que será a raiz do site, um diretório / logs que armazenará especificamente os logs nginx para aquele site, e o sistema de arquivos chroot (etc /, usr /, etc.)
O primeiro problema com que me deparo é que no modo como eu o configuro, o PHP-FPM não consegue encontrar os arquivos que são passados para ele via nginx. Eles resultam em um erro "Primary script unknown", e para piorar, as mensagens de erro do PHP-FPM não são mais detalhadas do que isso, então não consigo descobrir qual caminho está sendo passado pelo nginx.
Uma configuração do pool php-fpm para um host se parece com isso:
[host]
user = host
group = www-data
chroot = /var/www/domain.name
chdir = /public
listen = 127.0.0.1:900x
'x' é incrementado para cada pool.
A configuração do nginx para este host é assim:
server
{
listen 80;
server_name domain.name *.domain.name;
root /var/www/domain.name/public;
index index.php index.html index.html;
location ~ \.php$
{
expires epoch;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
include fastcgi_params;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_pass 127.0.0.1:9001;
}
}
Eu estou supondo que o problema é o parâmetro SCRIPT_FILENAME, mas eu mudei para apenas $ fastcgi_script_name, e várias outras combinações, mas sem sucesso.
Alguém pode ajudar?