@DarkByte2015

LAMP или не LAMP вот в чем вопрос?

Для разработки сайтов на PHP под линукс обычно рекомендуют LAMP. Так вот этот LAMP он же по сути просто сборник из 3х программ: Apache, MySql, PHP. У меня возник такой вопрос: а есть ли вообще какая то разница ставить LAMP или просто поставить эти 3 программы? Или его можно рассматривать лишь как упрощение в плане того что надо вводить не 3 команды, а 1 для установки? И еще, кажется сейчас куда популярнее nginx в качестве сервера. Почему LAMP тогда не включает его? Или хотя бы есть бы были 2 сборки с apache и nginx. А то если я буду ставить LAMP то Apache мне все равно будет лишний, а nginx придется ставить отдельно.
  • Вопрос задан
  • 3915 просмотров
Решения вопроса 1
DevMan
@DevMan
lamp - это просто название стека.
а как его ставить (по отдельности или готовые сборки) рояля особого не играет.
Ответ написан
Пригласить эксперта
Ответы на вопрос 3
Wolfnsex
@Wolfnsex Куратор тега Веб-разработка
Если не хочешь быть первым - не вставай в очередь!
И еще, кажется сейчас куда популярнее nginx в качестве сервера. Почему LAMP тогда не включает его?
Это всё дешевый маркетинг. Безусловно, nginx быстрее в ряде случаев, но это не значит, что он быстрее в 100% случаев. На малой нагрузке и при отсутствии гигабайтных файлов скачиваемых пользователями на скорости 64Кбит/сек., массово - Apache выдаёт вполне себе хорошие скорости, очень даже сравнимые с Nginx.

Apache "медленнее" не в 100 раз, а обычно в 1.5-2.5 раза (среднестатистические данные, понятно, что показатели могут сильно разниться в зависимости от тестов). И обычно эта "медленность" проявляется на действительно неплохих нагрузках. Я бы даже сказал так, Nginx скорее более устойчив при высоких нагрузках атаках аки DDoS, чем Apache, т.к. потребляет меньше ресурсов в виду особенностей своей архитектуры. Но, стоит понимать, что веб-сервер - это далеко не всё, что может потреблять ресурсы сервера, и от безграмотной настройки никакой конкретный сервер не спасёт.

Apache - куда проще конфигурировать хотя бы по тому, что он имеет механизм ".htaccess", Вы представляете разницу (логически) между "скопировать 3 строчки и вставить их в .htaccess" и "переписать кусок конфига nginx"? Когда Вы делаете это систематически и когда сервер Ваш - проблем нет. А когда пользователю приходится приходится это делать не часто, и тем более на каком-нибудь виртуальном хостинге - апач решение сразу нескольких проблем.

Настройка связки Apache + одна версия PHP, ощутимо проще для не очень опытного администратора, чем аналогичная связка PHP+Nginx. Но, Вы же понимаете, что люди хорошо разбирающиеся в настройках сервера обычно пытаются сделать что-то вроде apt install lamp

Для разработки - нет принципиальной разницы, какой у Вас веб сервер. Как верно подметил коллега dev400, даже такой вариант работает отлично в ряде случаев. Ну за исключением случаев, когда у Вас часть приложения завязана на архитектуре какого-то конкретного сервера.

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

Не редко, Apache "прячется" за Nginx.

P.S. Что использую я? В основном Nginx, по тому, что я к нему привык, по тому, что сервера обычно свои и "железные", по тому, что на его особенностях завязана структура пары крупных приложений, по тому, что с ним без особых проблем получилось прикрутить несколько версий PHP и всякой другой ерунды (так сложилось исторически), по тому, что я собираю его из исходников в более чем половине случаев... и т.д. Но, не нужно списывать Apache со счетов только по тому, что Вы где-то начитались, что "Nginx быстрее". Оба сервера имеют полное право на существование, и у обоих есть свои как сильные, так и слабые стороны. Не нужно пытаться оптимизировать сайт по нагрузке, если его посещают 30 человек в месяц.

LAMP или не LAMP вот в чем вопрос?

Я не знаю, как ставиться LAMP и есть ли команда установки именно "LAMP"a, но Вам ничего не мешает набрать в консоли что-то типа "apt install apache php mysql" (условно) и поставить всё ровным счётом то же самое, что и ставит LAMP, или "apt install nginx php mysql" и поставить ровно то же, только с Nginx'ом вместо Apache'а.

UPD. Есть ещё Varnish, так на вскидку, в 70% проектов он будет выдавать просто феерическую производительность, особенно при ооочень тонкой его настройке, достаточном кол-ве памяти и т.д.. Я думаю, он даже в связке с Apache+PHP будет показывать куда большую производительность, чем "голый" Nginx+PHP, т.к. будет "выплёвывать" страницы целиком, из кэша, даже не обращаясь к бэкэнду (вернее, делая это не часто). Но, это не говорит о том, что нужно срочно всем собраться и бегом побежать ставить Varnish на каждый 2-й сайт с Wordpress'ом и посещаемостью 100 человек в год.
Ответ написан
@dev400
для разработки есть php -S localhost:8000
Ответ написан
Vincent1
@Vincent1
Если нет желания возиться с тонкостями настроек, то LAMP.
Если вы хорошо понимаете (или есть желание понять) как можно провести оптимизацию ПО через конфиги, то по отдельности.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы