Какая серверная ОС более продуктивна для совместной работы nginx и apache?
Вопрос скорее всего глупый, я знаю основы сайтостроения которые мне преподали в институте, сейчас решил заняться (как мне кажется) перспективным проектом, (за одно более глубоко разобраться в теме того как сделать вэб-сервис, в общем собираюсь совмещать самообучение и практическое познание). Поскольку проект планирую сделать рабочим (рассчитанным в перспективе на большой охват пользователей) хочется сделать хотя бы первые пару шагов в правильном направлении, что бы в дальнейшем когда наберусь опыта и соберу команду пришлось меньше переделывать.
Ну и самое первое с чем я столкнулся это выбор ПО и ОС. С ПО я определился nginx + apache (фронтенд и бэкенд), а вот на какой ОС это все более правильно разместить?
P.S. Скорее всего вопрос не выдерживает никакой критики так, как прирост не значителен и наверняка зависит от версий ПО их настройке, принятыми техническими решениями, но все же скорее всего есть тесты или же какие-то данные о том какие связки более правильные, а какие менее, поделитесь пожалуйста)
Артём Петренков: Смотря что именно вы подразумеваете пока точно определился, что на северной части буду использовать связку из двух вэб-серверов nginx будет принимать все запросы обрабатывать их и после передавать на апач) все остальные нюансы пока еще изучаются и выбираются, как-то так.
Поскольку я понимаю, что вопрос может быть глупый, за ответ так же принимаю ссылки на литературу, учебные курсы и т.д. дабы другие падаваны столкнувшиеся со схожей проблемой могли быстрее отказаться от ложных идей и быстрее обучится))
Pavel Denisov: если честно я думал, что в этой связке nginx стоит убрать так как apache заточен на работу с динамической информацией, а nginx, поправьте если ошибаюсь
Ubuntu с Nginx (он там вероятно более свежий будет чем в других дистрибутивах, а это и поддержка HTTP/2 и некоторых других вещей).
Apache выбросить (исключение может быть лишь если у вас тонны legacy правил в mod_rewrite, которые вы не можете по какой-то причине переписать в конфиг Nginx или обрабатывать на уровне приложения (предпочтительно)).
Вот как раз выбор ОС это дело второстепенное (ну, кончено, если выбор между дистрибьютивами линукса, а не линукс/винда). ОС гораздо проще поменять чем неправильно выбранную арихтектуру или БД.
И Nginx, и Apache - это веб-серверы, вашей терминологией - фронтенд. Бекенд - это PHP, Python и тд. Первое, что надо сделать - выбросить Apache вообще, если для его использования нету реально обоснованной причины.
Если вы - дерьмовый дешевый шаред-хостинг, тогда да.
Во всех остальных случаях достаточно схемы:
запрос -> nginx ака фронт:
- если статика -> отправить клиенту
- если динамика -> отправить на PHP-FPM ака бекенд
Далее бекенд делает свою работу и возвращает результат:
бекенд -> nginx -> клиент.
Данная схема работает как часы.
Внимание, вопрос: зачем здесь вставлять толстую, медленную, жрущую тьму ресурсов, а главное - абослютно ненужную прокладку под названием apache? В чем профит?