Про установку LAMP сервера и настройку Apache уже писали. Мы свами немного углубимся и разберемся с глобальными настройками. И оптимизируем Apache под слабый сервер.
Первым делам заглянем в файл настройки /etc/apache2/conf-available/security.conf :
ServerTokens Minimal #Установим минимальные сведения о сервере. Даная настройка повышает безопасность веб сервера.
ServerSignature Off #Не указывать E-mail при ошибках сервера.
Далее пойдем в глобальные настройки /etc/apache2/apache2.conf
Timeout 60 #Указывает как долго сервер будет пытаться продолжить прерванную передачу или прием данных, 60 секунд за глаза.
KeepAlive On #Позволяет передавать несколько файлов, за одно соединение, конечно же включаем.
MaxKeepAliveRequests 100 #Максимальное количество запросов за одно соединение. Скажем если пользователи в среднем смотрят только одну страницу на сайте,и она не очень тяжелая, не нагружена графикой то значение 100 вполне подойдет или даже много.
KeepAliveTimeout 15 #Таймаут соединения, обычно для загрузки страницы достаточно 5-10 секунд.
MaxClients 14 #Устанавливает максимальное количество параллельных запросов, которые будет обрабатывать сервер. При подключении нового пользователя Apache создает новый процесс . Для статических файлов apache
использует около 2-3 Мб на процесс, для динамики (php, cgi) — зависит
от скрипта, но обычно около 16-50 Мб. Данный параметр надо выбирать из объёма оперативной памяти и числа клиентов одновременно обращающихся к серверу. Если сервер уже обслуживает MaxClients запросов, новые запросы попадут в очередь, размер которой устанавливается с помощью директивы ListenBacklog.
По умолчанию Apache работает в режиме prefork mpm, то есть для каждого пользователя создается отдельный процесс. Опции MaxSpareServers MinSpareServers и StartServers используются только в этом режиме. Эти директивы позволяют заранее иметь в памяти созданные процессы, чтобы не приходилось этого делать во время получения запроса.
MaxSpareServers 5 #Максимальное число свободных процессов. Если MaxSpareServers слишком велико, apache будет сильно нагружать
систему этими процессами, даже если количество клиентов минимально.
MinSpareServers 3 #Минимальное число.
StartServers 1 #При запуске будет создан 1 процесс.
MaxRequestsPerChild 2000 #Устанавливает сколько запросов может обработать один дочерний процесс/поток прежде чем он будет завершен.Этот параметр позволяет избавиться от проблем с утечкой памяти.
Ну и конечно для производительности веб сервера очень важно сжатие трафика. Так что не забудьте проверить что модуль mod_deflate включен. Вот и все что хотелось вам рассказать, надеюсь моя статья вам помогла.