Não consigo fazer o php-fpm com o Nginx funcionar

Não consigo fazer o php-fpm com o Nginx funcionar

Servidor: CentOs x86_64

/etc/php-fpm.d/webuser1.conf

[webuser1]
listen = 127.0.0.1:9001
listen.allowed_clients = 127.0.0.1
user = webuser1
group = webuser1

pm = dynamic
pm.max_children = 15
pm.start_servers = 3
pm.min_spare_servers = 1
pm.max_spare_servers = 5
pm.max_requests = 2000

request_slowlog_timeout = 5
slowlog = /home/webuser1/tmp/logs/webuser1.slow.log

php_admin_value[error_log] = /home/webuser1/tmp/logs/webuser1.error.log
php_admin_flag[log_errors] = on

/etc/nginx/conf.d/web1.conf

server {
listen       80;
server_name  c64p1.v.lab.gavika.com;

#charset koi8-r;

#access_log  logs/host.access.log  main;

location / {
    root   /home/webuser1/www/public;
    index  index.html index.htm index.php;
}

error_page  404              /404.html;
location = /404.html {
    root   /usr/share/nginx/html;
}

# redirect server error pages to the static page /50x.html
#
error_page   500 502 503 504  /50x.html;
location = /50x.html {
    root   /usr/share/nginx/html;
}


# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
location ~ \.php$ {
    root           html;
    fastcgi_pass   127.0.0.1:9001;
    fastcgi_index  index.php;
#   fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
    fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
    include        fastcgi_params;
}

}

Nos logs do Nginx, tenho:

2013/05/18 15:21:52 [error] 2943#0: *1 FastCGI sent in stderr: "Primary script unknown"     while reading response header from upstream, client: 192.168.122.1, server: c64p1.v.lab.gavika.com, request: "GET / HTTP/1.1", upstream: "fastcgi://127.0.0.1:9001", host: "c64p1.v.lab.gavika.com"

Como posso fazer isso funcionar?

Responder1

Você colocou suas rootdiretrizes nos lugares errados.

rootdeve ser definido no serverbloco, não em cada locationbloco. Este é um dosconfigurações incorretas mais comuns do nginx.

Para resolver o problema, remova todas as rootdiretivas de cada locationbloco e coloque a rootdiretiva correta dentro do serverbloco, e não dentro de qualquer arquivo location.

Responder2

Você pode compartilhar quais cabeçalhos você está testando e que fornecem esses resultados? Parece que você está apenas fazendo uma solicitação Get root (/) por meio de um navegador?

Sem mais informações sobre os cabeçalhos de entrada ou como você está testando sua configuração, provavelmente você está enfrentando um problema de localização em sua configuração.

Meus dois conselhos são:

1) Confira as páginas de ajuda nos locais do Nginx. Wiki Nginx (http://wiki.nginx.org/Configuration) é um bom lugar se você está começando. Além disso, a cartilha de Martin Fjordvald (http://blog.martinfjordvald.com/2010/07/nginx-primer/) é bom em configurações de localização.

2) Se eu estivesse tendo problemas para fazer minha configuração c64p1.v.lab.gavika.com funcionar, eu voltaria para uma configuração Nginx simples baseada em um servidor localhost e faria a configuração localhost funcionar primeiro.

informação relacionada