LINUX.ORG.RU

Apache или NGINX

 ,


0

1

Добрый день!

Вопрос наверное изъезженный, но почитав я так и не понял что лучше в моей ситуации.

А ситуация у меня следующая. Я пишу сервис, поисковой со своей спецификой. Картинки как правило не используются. В основном работает PHP и статической информации в виде картинок мало, кроме оформления. Сам сервер будет виртуальный, с 8 ядрами и 8 гигабайтами оперативки, но на нём будет крутиться только Web сайт. Данные будут браться с другого сервера из базы PostgreSQL.

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

Посоветуйте пожалуйста, что лучше поставить...

Может ещё что то рассмотреть или в каком то виде

Спасибо!

nginx + php-fpm </thread>

Планируется что пользователей будет много.

ты сначала напиши, потом думай о проблеме с нагрузкой

Бд держать на другом сервере это необходимость?

ggrn ★★★★★
()
Ответ на: комментарий от ggrn

ты сначала напиши, потом думай о проблеме с нагрузкой

Мне как раз кажется что о нагрузке сразу подумать надо. Да там почти написано. И договорённости есть с кучей компаний об использовании. Но хочется переделать под специфику до запуска, а не потом переделывать.

Бд держать на другом сервере это необходимость?

Да, БД там очень большая, так как в БД данных много и обработок будет много именно сервером данных. Закачивать данные туда будут не через сайт, а на автомате будет робот закачивать.

LeximusNet
() автор топика
Ответ на: комментарий от goingUp

Обычно узкое место - это не веб сервер. Бери nginx.

Да, именно по этой причине не стал отдельно выделять отдельный сервер под Web сервер, а вот под БД как раз выделил.

Вот и смущает меня в NGINX то что статику он обрабатывает хорошо, но статики то у меня практически не будет. У меня конечно будет логотип и какое-то оформление, но не так что бы. Да и под картинки я мог бы поднять отдельный сервер.

LeximusNet
() автор топика

Лучше бы время потратил на переход на Go / Node.js, чем такие нубские вопросы задавать; Апач всё-равно за нжинксом ставят :) ибо, секурность у апача не ахти.

menangen ★★★★★
()
Ответ на: комментарий от ggrn

Многие не хотят тупо конфиги переносить, у них полотна апач специфичных «фич». Плюс всякие _mod плагины для апача, типа какого-нибудь кеш валидатора на lua и прочее...

menangen ★★★★★
()
Ответ на: комментарий от menangen

Ну тут автор вроде как только пишет сервис, так что пусть лучше сразу пишет без этих специфических фич

Как писали выше nginx + php-fpm и в путь

USF
()
Ответ на: комментарий от LeximusNet

Мне как раз кажется что о нагрузке сразу подумать надо.

Это только кажется. Доустановить nginx ты сможешь за пару часов.

Да, БД там очень большая, так как в БД данных много и обработок будет много именно сервером данных. Закачивать данные туда будут не через сайт, а на автомате будет робот закачивать.

Тогда зачем тебе вообще PHP на сервере? На том серваке где БД сделай API и подтягивай готовые данные прямо оттуда. А еще лучше вообще откажись от своих вертуальных 8 ядрабайт и подними http сервер на том же сервере где БД.

http сервер не будет твоим узким местом.

Suntechnic ★★★★★
()
Ответ на: комментарий от menangen

ибо, секурность у апача не ахти.

А можно тут поподробнее?

В чём проблемы с безопастностью? Дело в том что на одном из серверов стоит SVN под апачем. А точнее это VisualSVN. Не хочется с чем то сложным, да и не нужно заморачиваться, но доступ открыт из интернета. Вот не хочется чтобы репозитарий кто то заполучил.

LeximusNet
() автор топика

Ты главное php-fpm прикручивай. А апач или нгинкс это уже не так важно будет. Лично мне проще nginx.

turtle_bazon ★★★★★
()

Спасибо всем. Я решил что NGINX + PHP-FPM

Вот только не понял, что с Апачем не так, в чём там проблемы с безопасностью. Допустим доступ есть только по протоколу HTTPS к серверу c Апачем (просто идёт переброс на этот порт из внешней сети во внутреннюю). Что могут сделать злоумышленники?

LeximusNet
() автор топика
Ответ на: комментарий от goingUp

Его ставят за nginx по другой причине.

По какой причине? Есть ли причина мне тогда ставить, если мне нужно PHP и у меня будет NGINX + PHP-FPM?

LeximusNet
() автор топика

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

Apache - сервер приложений, под ним работают приложения, которые генерируют результат, который отдается по http[s] (и еще apache умеет отдавать статику).

nginx - тупая прокся, которая берет данные из разных мест (по http[s], fastCGI, с диска) и отдает клиенту. Если nginx отдает не статику, то ему нужен сервер, который будет генерировать эти данные.

При этом, если http сервер смотрит в интернет и данные генерирует apache, то перед ним лучше все равно поставить nginx (в локальной сети с доверенными клиентами от него толку мало, потому что 99.9% веб страниц влезает в буфер ядра операционки и их будет отдавать не apache, а ядро из своего буфера, пока apache обслуживает следующего клиента).

Поэтому, если у тебя веб сервер в интернете, то общаться с клиентами должен nginx (кроме, возможно, специфических случаев типа онлайн видео), а за ним нужен сервер приложений (apache, nginx Unit, что-то типа php-fpm или другой fastCGI, WSGI пускалки приложений).

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.