Для большинства проектов подходит следующая типовая конфигурация веб-сервера на Linux:
- nginx front end сервер, отдающий статику и мультиплексор соединений от клиентов,
- apache2 или php-fpm back end сервер, на котором происходит формирование динамических страниц,
- Интерпретаторы языка PHP, Ruby, Python,
- firewall на iptables,
- БД MySQL, PostgreSQL,
- Мониторинг доступности и нагрузки с помощью nagios и munin,
- Решение для бэкапа кода, данных и дампа БД локально и на другой сервер.
Перед настройкой сервера проводится анализ текущей конфигурации и подбор оптимального «железа». Также обычно проводится оптимизация параметров программного обеспечения. В зависимости от проекта, возможно использование дополнительного кеширующего ПО, такого, как memcached.