Программирование игр, создание игрового движка, OpenGL, DirectX, физика, форум
GameDev.ru / Программирование / Форум / nginx + php под Windows, не ужели нет поддержки PHP-FPM?

nginx + php под Windows, не ужели нет поддержки PHP-FPM?

-=MASTER=-Забаненwww4 янв. 20180:18#0
В общем, гуглю я гугулю и что-то не пойму, под виндой нету что-ли варианта запуска связки nginx+php с FPM(FastCGI Process Manager)? Вот когда я беру последний PHP 7.2.0, настраиваю в nginx его примерно так:
location ~ \.php$ {
            root           html;
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
            include        fastcgi.conf;
            }

запускаю так:

@echo off
echo Starting servers...
set PHP_FCGI_MAX_REQUESTS=0
set SRVPATH=C:\nginx
start /D%SRVPATH% nginx.exe
%SRVPATH%\RunHiddenConsole.exe %SRVPATH%\php\php-cgi.exe -b 127.0.0.1:9000 -c %SRVPATH%/php/php.ini

это подразумевает, что FPM не используется? Я вообще думал, что интерфейс FastCGI и так подразумевает работу потоками, а не с кучей процессов и что он завершает их как-надо со всякими  graceful shutdown и пр... Неужели в php под виндой это не реализовали?
Я не вижу в папке php файла php-fpm.exe, только php-cgi.exe :(

Правка: 4 янв. 2018 0:23

MrShoorУчастникwww4 янв. 20180:21#1
-=MASTER=-
Не мучай опу уже. Возьми аппач. Под винду аппач просто настроить, а вот с nginx надо помудохаться.
-=MASTER=-Забаненwww4 янв. 20180:23#2
MrShoor
> Под винду аппач просто настроить, а вот с nginx надо помудохаться.
так сам же говорил, мол nginx намного быстрее... зачем брать медленный?
Собственно nginx по всяким гайдам я уже настроил, страница отображается, php работает, просто меня коробит мысль, что под виндой я из него выжимаю не всё, просто из-за того, что они там не нашли нормального кроссового метода для правильной работы с сокетами...

Правка: 4 янв. 2018 0:32

MrShoorУчастникwww4 янв. 20180:53#3
-=MASTER=-
> так сам же говорил, мол nginx намного быстрее... зачем брать медленный?
При грамотном подходе да. В кривожопых руках разницы посути нет.
И перейти с апача на nginx - это чуть ли не сисадмиская работа. В php коде ничего менять не надо будет, а значит и нет смылса мудохаться с nginx-ом сегодня, если можно всегда перейти, когда будут реальные проблемы с апачем. А это будет ой как не скоро.
u960Постоялецwww4 янв. 20180:53#4
чем mod_php не устраивает то
u960Постоялецwww4 янв. 20180:55#5
nginx ставят для отдачи статики, за ним apache2 отдает скрипты. Не думаю что у вас там хайлоад что apache2 не справляется.
-=MASTER=-Забаненwww4 янв. 201810:14#6
u960
> за ним apache2 отдает скрипты
А что, nginx разве плохо с этим справляется? По крайней мере на Unix-ах с PHP-FPM?
Dmitry_MilkПостоялецwww4 янв. 201811:20#7
В жопу PHP, разрабатывай свое приложение сразу в виде модулей для nginx http://nginx.org/en/docs/dev/development_guide.html :)

А если без сарказма, то если у тебя планируется рост аудитории, то в первую очередь надо смотреть на архитектуру своего приложения, сделать ее такой, чтоб можно было легко горизонтально масштабировать на несколько серверов, скажем, по игровым локациям.

u960Постоялецwww4 янв. 201811:49#8
-=MASTER=-
> А что, nginx разве плохо с этим справляется? По крайней мере на Unix-ах с
> PHP-FPM?
а смысл? зачем лишний гемморой,а гемморой есть, раз мучаетесь с установкой.

nginx + php-fpm имело смысл ставить когда памяти было мало. Процессы тупо меньше жрали памяти чем apache2. Но это было лет 10 назад, когда покупался дешевый vds с 64 метрами оперативы, тогда я ставил nginx+php-fpm.

Все виртуальные хостинги(многие,теми что я пользовался) используют nginx для статики, apache2 для скриптов. Скрипты быстро отрабатываются, процессы не плодятся. Какой нить тормозной клиент очень долго тянет картинку в пару мегабайт, процесс занят отдачей этой картинки, чтобы обработать новый запрос, нужно создавать новый процесс, а это лишняя память. В этоге 64 метров оперативы не хватало))) Процессы nginx меньше жрут памяти.

Вообщем по ощущениям nginx во фронде для статики и apache2 за них для скриптов атомную нагрузку выдержат.

$taticПостоялецwww4 янв. 201814:18#9
u960
апач на виртуальных хостингах использовался скорее для совместимости с клиентскими скриптами и более удобного их конфигурирования через htaccess.
-=MASTER=-Забаненwww4 янв. 201814:58#10
Dmitry_Milk
> легко горизонтально масштабировать на несколько серверов
да, я уже это понял

u960
> смысл? зачем лишний гемморой,а гемморой есть, раз мучаетесь с установкой.
да не мучаюсь я с установкой, уже давно всё настроил, благо в сети куча гайдов по настройкам и оптимизациям, просто меня терзала мысль, что под виндой он работает медленнее из-за отсутствия FPM

u960
> nginx + php-fpm имело смысл ставить когда памяти было мало. Процессы тупо
> меньше жрали памяти чем apache2.
Я думал, что фишка FPM в этом https://msdn.microsoft.com/ru-ru/library/windows/desktop/ms738547

u960
> Какой нить тормозной клиент очень долго тянет картинку в пару мегабайт, процесс
> занят отдачей этой картинки, чтобы обработать новый запрос, нужно создавать
> новый процесс, а это лишняя память.
Ну а в случае nginx + апач у тебя другая картина что-ли будет? Наверное, всё таки занят не процесс, а поток процесса, коих может быть много (сколько настроишь в nginx-е).
Я не пойму смысла ставить дополнительно апач, если nginx и так скрипты неплохо раздаёт, в чём там главный фокус - то? Ставить апач на другой комп, что бы nginx часть запросов на него по сети перекидывал? Ну так это ж дополнительные лаги наоборот или я чего-то не догоняю? :-)

Правка: 4 янв. 2018 14:59

u960Постоялецwww4 янв. 201817:24#11
$tatic
> апач на виртуальных хостингах использовался скорее для совместимости с
> клиентскими скриптами и более удобного их конфигурирования через htaccess.
и это тоже.

-=MASTER=-
> Ставить апач на другой комп, что бы nginx часть запросов на него по сети
> перекидывал? Ну так это ж дополнительные лаги наоборот или я чего-то не
> догоняю? :-)
нет, это все может стоять на одном компе. nginx слушает 80 порт, и всю статику отдает сам и делает еще кучу полезной работы. Скрипты он пробрасывает к примеру на порт 8080 который слушает апач. или этот порт может слушать php-fpm. В любом случае  связки одинаковые.

nginx + php_fpm потому что nginx не умеет в php, хотя возможно уже и запилили модуль
или
nginx+apache2, который умеет и в пхп, и питон, руби, перл, fastCGI и так далее.

тут доходчиво
http://slonik-v-domene.livejournal.com/141951.html

Правка: 4 янв. 2018 17:30

-=MASTER=-Забаненwww4 янв. 201817:48#12
Я понял, апач мне не нужен в общем, оставляю nginx + PHP через fastCGI.

/ Форум / Программирование игр / Веб

2001—2018 © GameDev.ru — Разработка игр