Eu estou preso definindo meu nginx para trabalhar com programas cgi personalizados (usando a biblioteca xmlrpc-c).
Estou tentando com fcgiwrap / spawn-fcgi assim:
$ spawn-fcgi -f /usr/bin/fcgiwrap -s /tmp/fcgi.sock
Seção importante do arquivo nginx.conf seria
location /cgi-bin/test {
root /usr/share/nginx/html/cgi-bin/test/;
include /etc/nginx/fastcgi.conf;
#fastcgi_pass 127.0.0.1:8000;
fastcgi_pass unix:/tmp/fcgi.sock;
fastcgi_param SCRIPT_FILENAME /usr/share/nginx/html/cgi-bin/test$fastcgi_script_name;
}
Eu tentei ambos os arquivos de soquete e ipv4 / número de porta combinações, mas eu tenho erro:
2013/08/22 18:52:55 [notice] 1645#0: signal process started
2013/08/22 18:52:57 [crit] 1653#0: *1 connect() to unix:/tmp/fcgi.sock failed (13: Permission denied)
while connecting to upstream, client: 127.0.0.1, server: localhost,request: "POST /cgi-bin/test/listaccounta HTTP/1.1", upstream: "fastcgi://unix:/tmp/fcgi.sock:", host: "localhost", referrer: "http://localhost/some_page.php"
Eu também recebo 502 Bad Gateway, às vezes, se eu mexer com as opções. Eu tentei todas as combinações que consegui no google (inclui a modificação do arquivo /etc/nginx/fastcgi.conf)
(note que existem seções separadas no nginx.conf para php cgi e para meus programas de teste, o php funciona bem)
Estou preso e não sei como configurá-lo, estou perdendo alguma coisa?
esta parte especialmente:
em nginx.conf
fastcgi_param SCRIPT_FILENAME / usr / share / nginx / html / cgi-bin / teste / $ fastcgi_script_name; # não funciona, relata erro abaixo
fastcgi_param SCRIPT_FILENAME / usr / share / nginx / html / cgi-bin / teste / my_prog; #funciona
Cannot get script name, are DOCUMENT_ROOT and SCRIPT_NAME (or SCRIPT_FILENAME) set and is the script executable?
Eu tenho mais de um programa, como definir o executável para não ser corrigido (como my_prog acima)?
obrigado
fonte