Примерно шесть лет назад я написал статью про настройку Web-сервера на основе VDS/VPS.
За все это время ее просмотрели наверное десятки тысяч раз, она и сейчас все еще пользуется популярностью, потому что тема настройки сервера актуальна всегда, но сегодня я бы хотел написать немного критики на эту статью, представить новый взгляд и немного иной подход.
В момент ее написания, я собрал все общепринятые рекомендации по настройке веб-сервера и постарался описать их в одной статье, но только спустя годы я понял что такой «универсальный» Web-сервер не всегда лучшая идея.
В последнее время мне все чаще приходится заниматься дизайном (разработкой архитектуры) IT решений и я постепенно прихожу к банальному мнению что минимализм это хорошо и чем проще архитектура тем лучше.
Буду откровенным, во время написания первой статьи я даже не до конца понимал зачем все эти плюшки типа memcached, XCache, Zend Optimizer и ставил их скорее потому что это вроде же круто и полезно.
Да, несомненно, все эти вещи полезные в своем роде, но далеко не всегда.
Например связка Nginx + Apache — достаточно распространенный вариант для Web-сервера, но практически не имеет смысла на стесненном ресурсами VDS/VPS. Почему? Да потому что пресловутая экономия ресурсов за счет обработки статики Nginx мизерная в масштабах 512 MB RAM но при этом добавляется лишнее звено, которое все усложняет.
Memcached это вообще компонент, который используется в первую очередь в крупных проектах с высокой нагрузкой и движок сайта должен быть написан с учетом использования memcached, а на VDS/VPS он нужен крайне редко.
Xcache это наверное самое безобидное из этого списка, но его эффективность опять же сложно оценить в масштабах VDS/VPS.
Исходя из всего этого, для относительно слабого сервера (256-1024 MB RAM), коим как правило является VDS/VPS я вижу 2 приемлемые конфигурации:
1. Стандартный LAMP (Linux + Apache + MySQL + PHP) — отличается невероятной простотой установки и обслуживания (установка 1 командой), почти все работает «из коробки», при чем работает достаточно стабильно. Из минусов — не всегда оптимальное потребление ресурсов, но если посещаемость вашего сайта меньше 500 уникальных посетителей в сутки (да, я знаю, это пальцем в небо, но все же) — это несомненно ваш выбор.
2. Так называемый LEMP (Linux + Nginx + MySQL + PHP-fpm) — требует немного больше возни с установкой и настройкой + немного больше опыта с Linux для последующего обслуживания и решения потенциальных проблем. Преимущество данного варианта в том, что при относительной сложности, он позволяет выжать максимум из слабого VDS/VPS сервера.
Что касается всяких примочек типа memcached, XCache, eAccelerator и т.п. — не устанавливайте их, пока не поймете что жить без них не можете, не стоит вестись на призрачный прирост производительности, для VDS/VPS их эффективность не доказана.