Для стабильной и быстрой работы сайта недостаточно просто установить веб-сервер — его нужно грамотно настроить и оптимизировать. Рассмотрим установку популярных серверов Apache и Nginx, а также практики, которые позволяют значительно повысить производительность, безопасность и отказоустойчивость.
Установка веб-сервера
Установка Nginx:
sudo apt update
sudo apt install nginx -y
Проверка статуса:
sudo systemctl status nginx
Установка Apache:
sudo apt update
sudo apt install apache2 -y
Проверка работы:
sudo systemctl status apache2
После установки можно перейти к этапу оптимизации.
Оптимизация Nginx
- Включите gzip-сжатие:
gzip on;
gzip_types text/plain application/json text/css application/javascript;
- Настройте кэширование статических файлов:
location ~* \.(jpg|jpeg|png|gif|ico|css|js)$ {
expires 30d;
access_log off;
}
- Ограничьте количество соединений:
limit_conn_zone $binary_remote_addr zone=addr:10m;
limit_conn addr 20;
- Проверьте конфигурацию:
sudo nginx -t
sudo systemctl reload nginx
Оптимизация Apache
- Отключите ненужные модули:
sudo a2dismod status
sudo a2dismod autoindex
- Включите кэширование: Убедитесь, что модуль expires включён, и добавьте директивы:
<IfModule mod_expires.c>
ExpiresActive On
ExpiresByType image/jpg "access plus 1 month"
ExpiresByType text/css "access plus 1 week"
</IfModule>
- Увеличьте лимиты обработки: Настройка KeepAlive, Timeout, MaxRequestWorkers в apache2.conf позволяет избежать перегрузки.
- Включите HTTP/2:
sudo a2enmod http2
Общие советы по оптимизации
- Используйте систему мониторинга (например, Netdata, Munin)
- Настройте логирование и ротацию логов
- Используйте брандмауэр (UFW) для ограничения доступа
- Ограничьте доступ к административным разделам по IP
Правильно настроенный и оптимизированный веб-сервер обеспечивает высокую скорость загрузки сайта, устойчивость к нагрузкам и защищённость от базовых угроз. Применение описанных техник особенно важно для VPS и серверов, на которых размещены коммерческие проекты.