RkBlog

Hardware, programming and astronomy tutorials and reviews.

ngx_http_fastcgi_module

Opis modułu ngx_http_fastcgi_module obsługującego protokół FastCGI w serwerze Nginx do hostowania aplikacji napisanych w Pythonie, Ruby czy PHP

Ten moduł pozwala Nginxowi porozumiewać się z procesami FastCGI i kontrolować przekazywane im parametry. Przykład:
location / {
    fastcgi_pass   localhost:9000;
    fastcgi_index  index.php;

    fastcgi_param  SCRIPT_FILENAME  /home/www/scripts/php$fastcgi_script_name;
    fastcgi_param  QUERY_STRING     $query_string;
    fastcgi_param  REQUEST_METHOD   $request_method;
    fastcgi_param  CONTENT_TYPE     $content_type;
    fastcgi_param  CONTENT_LENGTH   $content_length;
}


fastcgi_index

Składnia: fastcgi_index file
Domyślnie: none
Dla bloków: http, server, location
Nazwa pliku zostatnie dodana do URI i zapisany w $fastcgi_script_name jeżeli URI kończy się ukośnikiem.

fastcgi_hide_header

Składnia: fastcgi_hide_header name
Dla bloków: http, server, location
Domyślnie Nginx nie przepuszcza nagłówków "Status" i "X-Accel-..." z procesów FastCGI do klientów. Ta dyrektywa może być użyta do ukrycia innych nagłówków. Jeżeli nagłówki "Status" czy "X-Accel-..." muszą być przekazane to użyj "fastcgi_pass_header".

fastcgi_intercept_errors

Składnia: fastcgi_intercept_errors on|off
Domyślnie: fastcgi_intercept_errors off
Dla bloków: http, server, location
Określa czy nginx ma przechwycić błędy 4xx i 5xx i obsłużyć je czy też przekazać bez zmian klientowi.

fastcgi_para

Składnia: fastcgi_param parameter value
Domyślnie: none
Dla bloków: http, server, location
Określa parametr, jaki ma być przekazany serwerowi FastCGI. Można używać łańcuchów, zmiennych i ich kombinacji. Oto minimalny zestaw parametrów dla PHP:
fastcgi_param  SCRIPT_FILENAME  /home/www/scripts/php$fastcgi_script_name;
fastcgi_param  QUERY_STRING     $query_string;
Parametr SCRIPT_FILENAME używany jest przez PHP do określenia nazwy skryptu do wykonania, a QUERY_STRING zawiera parametry żądania. Dla żądań POST potrzebny jest trzeci parametr:
 fastcgi_param  REQUEST_METHOD   $request_method;
fastcgi_param  CONTENT_TYPE     $content_type;
fastcgi_param  CONTENT_LENGTH   $content_length;
Jeżeli PHP skompilowane zostało z --enable-force-cgi-redirect to należy dodać:
fastcgi_param  REDIRECT_STATUS  200;


fastcgi_pass

Składnia: fastcgi_pass fastcgi-server
Domyślnie: none
Dla bloków: location, if in location
Określa port lub gniazdo, na którym nasłuchuje serwer FastCGI. Przykłady:
 fastcgi_pass   localhost:9000;
Dla uniksowego gniazda:
fastcgi_pass   unix:/tmp/fastcgi.socket;


fastcgi_pass_header

Składnia: fastcgi_pass_header name
Dla bloków: http, server, location
Umożliwia przekazywanie domyślnie blokowanych nagłówków.
RkBlog

14 July 2008;

Comment article