Re: Всем: Платная опция и невозможность использования Nginx под Windows

Maxim Dounin mdounin at mdounin.ru
Wed Dec 17 16:52:56 UTC 2014


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