Nginx-ru mailing list archive (nginx-ru@sysoev.ru)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
(Не вопрос) Удобство переменных nginx в наст ройке FastCGI: fastcgi_param и $docume nt_root
- To: Всем <nginx-ru@xxxxxxxxx>
- Subject: (Не вопрос) Удобство переменных nginx в наст ройке FastCGI: fastcgi_param и $docume nt_root
- From: Sergey Shepelev <l4igem2@xxxxxxx>
- Date: Fri, 19 Jan 2007 02:04:03 +0300
- Organization: Heroshi Software
Здравствуйте, уважаемые.
Преамбула.
Настраиваю виртуальный хостинг на nginx. Добрый товарищ убедил меня
в отсутствии необходимости запускать отдельный бекенд nginx каждому
юзеру, в связи с чем стремительно упростился конфиг, но душа
стремится к идеалу и в процессе ковыряния fastcgi_param выяснилась
очень удобная толстость.
Амбула.
По аналогу с онлайн-документацией nginx я вписывал в каждый конфиг
виртуального хоста такие строки:
fastcgi_param SCRIPT_FILENAME /home/www/scripts/php$fastcgi_script_name;
fastcgi_param QUERY_STRING $query_string;
fastcgi_param QUERY_STRING и еще два десятка параметров сразу были
вынесены в отдельный файл и подгружаются include-ом. Это нормально. А
вот что интересно - SCRIPT_FILENAME тоже можно вынести в инклюд!
Да, может быть для многих это очевидно. Наверное, им лучше
проигнорировать это письмо.
А для меня было очень приятно узнать, что nginx корректно понимает
строку
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
в которой $document_root раскрывается в текущую настройку root.
Таким образом можно вообще все настройки fastcgi вынести в отдельный
файл, что нахожу очень удобным и спешу поделиться с общественностью
(см. приложение), а в основном конфиге писать только
location ~* ^.+\.(php|php3|php5|phtml)$ {
root /home/www/public_html;
fastcgi_pass 10.0.0.1:83;
include /usr/local/etc/nginx/common_fastcgi.conf;
}
--
С уважением,
Сергей А. Шепелев.
mailto:l4igem2@xxxxxxx
ICQ: 145-542-767 Attachment:
common_fastcgi.conf
Description: Binary data
|