ПРОЕКТЫ 


  АРХИВ 


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]

предложение: define внутри од ного conf файла


  • To: nginx-ru@xxxxxxxxx
  • Subject: предложение: define внутри од ного conf файла
  • From: "locojohn" <nginx-forum@xxxxxxxx>
  • Date: Wed, 19 Oct 2011 08:11:27 -0400
  • Dkim-signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=mickey.jlkhosting.com; s=x; h=Date:Sender:From:Message-ID:Content-Transfer-Encoding:Content-Type:Subject:To; bh=19ybEtzxL/bgCsWhPg28Eja/Zk+8rHZWjwCY+4Vhs+k=; b=ZxMQt1rOSc5Ly6TwF07bNIqFIA6azOj5hva3C20BO85v6ok2qxT6sS2Vg+9yTC1E9SShfeQqv6wHoPO+Ym6gdoj1/Yz1OYNRUqjCsQrkkplPsUlEVoyrPkFrO//+msVa;

Привет!

Возникла проблема со сложными сайтами
(виртуальными хостами), для которых не
хочется создавать несколько
конфигурационных файлов из-за
необходимости включения одних и тех же
директив, связанными, например, с FastCGI
конфигурацией для PHP.  Например, в
нижепреведенной конфигурации
виртуального хоста многие директивы
повторяются:

                location ~ ^(?<SCRIPT_FILENAME>.+\.php)$ {
                  fastcgi_read_timeout 1800;
                  fastcgi_send_timeout 1800;
                  include fastcgi_php.conf;
                  fastcgi_param SCRIPT_URL $SCRIPT_FILENAME;
                  fastcgi_param SCRIPT_URI
$scheme://$http_host$SCRIPT_FILENAME;
                  fastcgi_param PHP_VALUE
"include_path=$document_root:$document_root/include";
                  fastcgi_param GEOIP_COUNTRY_CODE $geoip_country_code;
                  fastcgi_param GEOIP_COUNTRY_NAME $geoip_country_name;
                  fastcgi_param GEOIP_CITY_NAME $geoip_city;
                  fastcgi_pass phpfarm;
                }

                location ~ ^(?<SCRIPT_FILENAME>.+\.php)(?<PATH_INFO>.+)$
{
                  fastcgi_read_timeout 1800;
                  fastcgi_send_timeout 1800;
                  include fastcgi_php.conf;
                  fastcgi_param SCRIPT_URL $PATH_INFO;
                  fastcgi_param SCRIPT_URI
$scheme://$http_host$PATH_INFO;
                  fastcgi_param PHP_VALUE
"include_path=$document_root:$document_root/include";
                  fastcgi_param GEOIP_COUNTRY_CODE $geoip_country_code;
                  fastcgi_param GEOIP_COUNTRY_NAME $geoip_country_name;
                  fastcgi_param GEOIP_CITY_NAME $geoip_city;
                  fastcgi_pass phpfarm;
                }

Есть и другие locations, где они
повторяются, и совершенно не хочется
из-за этого выносить этот простенький
кусочек в отдельный .conf файл, так как
файлов таких накопится много для
каждого виртуального хоста, а
возникает желание иметь лишь единый
конфигурационный файл для одного
виртуального хоста.

Предлагаю поразмыслить о возможности
делать какие-нибудь define {} блоки,
которые можно было бы включать в
локейшны в одном файле.   Например:


define default_php_conf {
    fastcgi_read_timeout 1800;
    fastcgi_send_timeout 1800;
    include fastcgi_php.conf;
    fastcgi_param PHP_VALUE
"include_path=$document_root:$document_root/include";
}

                location ~ ^(?<SCRIPT_FILENAME>.+\.php)$ {
                  include default_php_conf;
                  fastcgi_param SCRIPT_URL $SCRIPT_FILENAME;
                  fastcgi_param SCRIPT_URI
$scheme://$http_host$SCRIPT_FILENAME;
                  fastcgi_pass phpfarm;
                }

                location ~ ^(?<SCRIPT_FILENAME>.+\.php)(?<PATH_INFO>.+)$
{
                  include default_php_conf;
                  fastcgi_param SCRIPT_URL $PATH_INFO;
                  fastcgi_param SCRIPT_URI
$scheme://$http_host$PATH_INFO;
                  fastcgi_pass phpfarm;
                }

Так как локейшнов может быть много,
из-за необходимости переделывания rewrite
на location + try_files, то по предложенной схеме
можно значительно сократить размер
конфигураций.  Просто предложение.

Андрей

Posted at Nginx Forum: 
http://forum.nginx.org/read.php?21,216908,216908#msg-216908

_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://mailman.nginx.org/mailman/listinfo/nginx-ru


 




Copyright © Lexa Software, 1996-2009.