Hello! On Tue, Dec 16, 2014 at 06:40:57PM -0500, sofiamay wrote:
> Привет всем, проблема банальная - но довольно серьёзная. Nginx невозможно > использовать в Windows ввиду отсутствия настройки, которая бы ограничивала > коннекты бэкендов к Fast-CGI. Думаю все знают что PHP-FPM для Windows нет и > не будет? Получается Nginx сейчас можно использовать в Windows только чтобы > поиграться со статикой, о PHP можно забыть. > > Теперь более детально объясняю на пальцах: > > 1) В Windows нет PHP-FPM, поэтому традиционно используется FAST-CGI, к > примеру так: c:\php\php-cgi.exe -b 127.0.0.1:5000 -c c:\php\php.ini > Т.е. важно чтобы все понимали, что количество одновременных запросов, > которое может обрабатывать PHP, равно количеству вот таких вот CGI воркеров, > которые висят на портах: 5001 5002 и т.д. каждый воркер жрёт много памяти, > поэтому много их не запустишь. > > 2) Теперь что у нас получается, чтобы обработать не 2-3 запроса к PHP, а > хотя бы 20 одновременных, нам нужно чтобы Nginx попридержал лишние коннекты, > пока все бэкенды заняты, т.е. чтобы он не пытался делать более 1 > одновременного коннекта к каждому php-воркеру-бэкенду. Но вместо этого Nginx > пытается по кругу подавать коннекты ко всем уже занятым бэкендам и > соответственно выдаёт ошибку когда не может получить ответ ни от одного > бэкенда. Если вас интересует этот вопрос с практической стороны, то рекомендую попробовать балансировку least_conn, читать тут: http://nginx.org/r/least_conn/ru Ещё более практический совет - сменить операционную систему. Windows - не сервер, что бы ни говорила по этому поводу компания Майкрософт, и основной смысл существования nginx под Windows - обеспечить лёгкость локального тестирования и разработки сайтов тем, кто использует Windows на десктопе. Использовать nginx под Windows на боевых серверах - смело, но глупо. А ваши проблемы с php, который "жрёт много памяти", лишний раз подтверждают, что проблема - не в nginx'е. -- Maxim Dounin http://nginx.org/ _______________________________________________ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru