Есть задача: php отдает переменную и nginx-ом нужно взять эту переменную и вставить в proxy_pass как можно это реализовать? И как нужно отдавать php данную переменную что бы nginx смог ее обработать? Спасибо всем кто поможет.
А вообще, какую конкретно проблему вы пытаетесь решить подобными манипуляциями?
По вопросу, возможно, вам поможет ngx_http_ssi_module.
Или может нужно что-то вроде этого?
Задача: пишется что то типа балансировщика, который смотрит на загрузку Х серверов, выбирает самый оптимальный и выдает его ссылку s1.examples.com/................somefile.avi
И вот эту ссылку нужно вставить в некий редирект на этот сервер, хотя может действительно просто через header отправлять на нужный сервер, подскажите пожалуйста как правильнее это реализовать. Спасибо
Если встроенные способности nginx к распределению нагрузки вас не устраивают, то можно сообразить велосипед из X-ACCEL-REDIRECT и несколько (по серверам) location с флагом internal.
Ну и можно что-то вообще стороннее (перед или за nginx'ом) для балансировки использовать.
Самый шустрый способ вы описали сами: выдавать HTTP редирект из пхп.
Единственный, наверное недостаток — отсутствие контроля доступа (чуть более дотошного, чем вконтакте). Так что если контент открытый — редирект для вас. Если нет, читайте про X-ACCEL-REDIRECT.
PHP на apache_mod_php или FastCGI?
Для первого случая: proxy_set_header придет в $_SERVER['HTTP_*']
Для второго fastcgi_param придет по-идее куда-то туда же, сам не проверял.
Мерять загруженность сервера из пхп, использовать в качестве балансировщика nginx… Вы не хотите поискать инструменты, специально предназначенные для решения таких задач? Может быть вам подойдет ipvs, haproxy?