ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

FastCGI




Комментарий к FastCGIO модулю.

Модуль собирается по умолчанию. Используется только remote FastCGI.

Ограничение (разумные):
1) заголовок запроса (FastCGI параметры и HTTP_*) не может быть больше 64K.
2) заголовок ответа должен быть в одной FastCGI записи (8K).
При превышении в логах будет alert. Если вы их увидите, сообщайте, будем
бороться.

Тестировался с PHP-4.3.10. При сборке не нужно указывать --enable-discard-path.
Можно указать --enable-force-cgi-redirect, но, честно говоря, не знаю,
нужно ли это в ситуации remote FastCGI.


Директивы:

   location   /  {
       fastcgi_pass  localhost:9000;
       #fastcgi_pass  unix:/tmp/socket;

       fastcgi_root   /path/to/php;
       fastcgi_index  index.php;
   }

fastcgi_root означает префикс на стороне FastCGI. Если запрос /some/uri,
то полный путь скрипта - /path/to/php/some/uri, этот путь
передаётся в параметре PATH_TRANSALTED.
fastcgi_root задают индексное имя для запросов типа /some/uri/.
Имя может быть только одно.

Многие директивы fastcgi аналогичны proxy:

   fastcgi_connect_timeout       60;
   fastcgi_send_timeout          180;
   fastcgi_read_timeout          180;

   fastcgi_header_buffer_size    32k;
   fastcgi_buffers               4 32k;
   fastcgi_busy_buffers_size     32k;
   fastcgi_temp_file_write_size  32k;
   fastcgi_temp_path             /var/tmp;

   fastcgi_next_upstream         error timeout invalid_header http_500
                                 http_404;
   по умолчанию
   fastcgi_next_upstream         error timeout;

Директивы, специфичные для fastcgi:

   fastcgi_x_powered_by       off;  # по умолчанию on

   fastcgi_params
                  remote_addr
                  server_name
                  server_addr       # лишний сисколл на запрос
                  server_port
                  scrip_name
                  server_protocol
                  server_software
                  gateway_interface
                  request_uri
                  redirect_status   # нужен, если php собран с
                                    #--enable-force-cgi-redirect
                  ;

fastcgi_params позволяет передавать серверу только часть параметров,
по умолчания передаются только

   fastcgi_params  remote_addr server_name server_port
                   scrip_name request_uri redirect_status;

Все директивы, кроме fastcgi_pass, могут задаваться на уровне http,
server, location. fastcgi_pass - только на уровне location.


Игорь Сысоев
http://sysoev.ru


 




Copyright © Lexa Software, 1996-2009.