Nginx vs Apache

Areostar
Дата: 18.12.2017 15:17:40
какой веб сервер по вашему лучше!?

И с чего начать изучение Nginx?
Изопропил
Дата: 18.12.2017 18:03:57
Areostar
какой веб сервер по вашему лучше!?

они в общем то разные задачи решают.

Areostar
И с чего начать изучение Nginx?

с доументации
dbpatch
Дата: 18.12.2017 18:26:43
Areostar
какой веб сервер по вашему лучше!?

И с чего начать изучение Nginx?


это разные серверы. апач он для прикладных задач, запуска всяких PHP и прочего, что рождено, чтоб быстро умереть (live to die),
nginx - для статичных неубиваемых задач, куда не ступает рука-нога типового .... прикладного кодера, вроде раздача файлов с диска или обратное проксирование.

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

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

потому перед апачем принято ставить nginx (обратный прокси) - апач быстро принял запрос, обработал, отдал обратно nginxу и пошел
другого клиента обрабатывать, а вот nginx уже будет мучаться с доставкой результата клиенту, тратя при этом минимум памяти и прочих сил.

хотя зачем nginx, если есть haproxy? но это уже другая история.
Areostar
Дата: 18.12.2017 19:01:25
dbpatch
Areostar
какой веб сервер по вашему лучше!?

И с чего начать изучение Nginx?


это разные серверы. апач он для прикладных задач, запуска всяких PHP и прочего, что рождено, чтоб быстро умереть (live to die),
nginx - для статичных неубиваемых задач, куда не ступает рука-нога типового .... прикладного кодера, вроде раздача файлов с диска или обратное проксирование.

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

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

потому перед апачем принято ставить nginx (обратный прокси) - апач быстро принял запрос, обработал, отдал обратно nginxу и пошел
другого клиента обрабатывать, а вот nginx уже будет мучаться с доставкой результата клиенту, тратя при этом минимум памяти и прочих сил.

хотя зачем nginx, если есть haproxy? но это уже другая история.


Ясно. Просто встретил одну фирму где их рекламные саитики сидят на nginx. Вот и думаю зачем?

хотя тему всё равно разобрать нужно ))
Изопропил
Дата: 18.12.2017 19:02:03
dbpatch,

nginx умеет работать с пулом php-процессов
dbpatch
Дата: 18.12.2017 19:04:11
Areostar
Ясно. Просто встретил одну фирму где их рекламные саитики сидят на nginx. Вот и думаю зачем?

хотя тему всё равно разобрать нужно ))

потому что реклама - это показать статический неизменный контент сразу огромному количеству клиентов, никакой там программной логики на сервере не нужно, а вот способность отдавать быстро и много всем кому не лень - нужна.

а там где нужно программно - стоит какой-то tomkat или еще что-нибудь, наверняка, и генерит свой динамический html/js, но это обычно 0.1% от общего трафика
dbpatch
Дата: 18.12.2017 19:10:03
Изопропил
dbpatch,

nginx умеет работать с пулом php-процессов


да, с одельно стоящим PHP-FPM. но сразу вознакает вопрос - а почему просто не использовать для этих целей apache?
Изопропил
Дата: 18.12.2017 19:27:38
dbpatch
да, с одельно стоящим PHP-FPM. но сразу вознакает вопрос - а почему просто не использовать для этих целей apache?

потому что апач одинхер нужно изолировать от внешего мира,
а если у апача при этом единственная функция php скрипты запускать - то накой он нужен?
dbpatch
Дата: 18.12.2017 19:41:24
Изопропил
dbpatch
да, с одельно стоящим PHP-FPM. но сразу вознакает вопрос - а почему просто не использовать для этих целей apache?

потому что апач одинхер нужно изолировать от внешего мира,
а если у апача при этом единственная функция php скрипты запускать - то накой он нужен?


а PHP-FPM можно сразу в интернеты выставлять, да?

ответ кагбе самоочевиден - апач не в пример более продвинут, плюс ты никогда не знаешь, что еще тебе там потребуется, кроме запуска PHP. может ACL какой продвинутый, или rewrite всякие...

тем более никакой разницы по перфоманцу и прочим моментам там нет, и так и так нужно городить за nginx-ом нечто, ибо сам он не
может PHP от рождения.

но если ты эстет, то да, можно нагородить чего угодно эдакого, лишь бы глаз радовался и job security наращивадся :)
Areostar
Дата: 18.12.2017 20:12:41
dbpatch,

Понятно, просто у них сайтика на wordpress