YurecNT

Ускорение работы сайта

Ускоряем сайт с помощью настроек кеширования, шаблонизатора, рам-диска и ленивой загрузки

юбой шаблонизатор, по сути его задача отделить серверное программирование от верстки. Вы можете выбрать на свой вкус любой шаблонизатор, но мне нравится Smarty, он прост, легко конфигурируется, умеет кешировать (да, это важно, ведь кешировать будем в RAM-памяти!). Беда с ним только в том, что на нем не работают готовые движки - WP, Joomla и тп, но там (говорят) есть своя система кеширования, если так - тогда надо настроить так, чтобы кеш кидался в RAM.

если же сайт на самописном движке - учимся работать со Smarty, читаем мануалы и приводим конфиг к такому виду:

Что здесь? здесь указан параметр compile_dir - туда будут кидаться "собранные шаблоны", надо таким же сделать параметр cache_dir, чтобы кеш так же был в ОЗУ.

Контент

Да, не сомненно он будет кешироваться, но в идеале, его тоже необходимо оптимизировать. Понятное, дело, что картинки необходимо уменьшать, но разговор не о них, а о "чужом контенте" - разные баннеры, инфомеры, реклама. выводим это в отдельные html-файлы и подключаем эти файлы с помощью JQuery функцией load - в нужное место на странице - например $("#banner").load('/content/banner.html');

Таким образом можем подключить весь контент, который нам не сильно то и нужен, в результате - сперва загружаются основные элементы сайта - навигация, странички, а потом уже добавляются баннеры. Так же это плюс с точки зрения СЕО-оптимизации.

Nginx

server{
    listen 80;
    server_name www.yurecnt.ru yurecnt.ru;
location / {
    proxy_pass http://backend;
    include /etc/nginx/proxy_params;
    proxy_send_timeout 600; # время ожидания при передаче запроса
    proxy_read_timeout 600; # время ожидания при чтении ответа
    proxy_cache static_cache;
    proxy_cache_valid 5d;
    proxy_cache_key "$request_method|$http_if_modified_since|$http_if_none_match|$host|$request_uri";

}
location ~* \.(jpg|jpeg|gif|png|ico|css|bmp|swf|js|txt|rar|zip|7z)$ {
root /home/yurec/www/yurecnt.ru/;
access_log off; # не пишем логи
expires 3d; # кешируем у клиента на 3 дня
}
}

Да, да, кешируем всю статику, опять же в RAM! Плюс сжимаем в gzip:

gzip on;
gzip_disable "msie6";
gzip_proxied any;
gzip_comp_level 6;
gzip_buffers 16 8k;
gzip_http_version 1.1;
gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;

Заголовки

Чтобы Nginx нормально кешировал - добавьте в скрипт PHP (до моментов вывода на страницу) код:

header("Cache-Control: public");
header("Expires: " . date("r", time() + 86400));
где указываем, сколько кешировать. После чего сжатые в Gzip странице будут тихо-мирно лежать в кеше Nginx.

Мелочи

Сжимаем CSS и JS файлы! Чтобы они мигом проскакивали через сетевую карту - убираем из них все что можно убрать - комменты, переносы, пробелы. Можно это делать с помощью PHP-скрипта, либо с помощью онлайн-сервиса


Рейтинг: 18

Обновлено: 09.10.2024

Информация об авторе

Евдокимов Юрий Владимирович

Я начал свою карьеру программистом в возрасте около 17 лет.

Изначально я хотел стать электриком, но что-то пошло не так - мне подарили первый компьютер... не рабочий... Сказали починишь - п ....

Администратор сайта


Все статьи автора

Благодарности: 1

Рейтинг: 2

Поддержать автора


СБП (Сбер) 9221301778

Самое читаемое:
Все о загрузочных флешках, дисках и ссд
Все о загрузочных флешках, дисках и ссд
Загрузимся хоть с загрузочного ....
14.09.2024
Публикация базы данных 1С
Публикация базы данных 1С
Не большой мануал по настройке ....
09.09.2023
Бесплатные программы для работы с разделами жесткого диска
Бесплатные программы для работы с разделами жесткого диска
краткий обзор бесплатных прогр ....
17.05.2024
Windows XP SP 2 слетел драйвер дисковода CD/DVD (2015 г.)
Windows XP SP 2 слетел драйвер дисковода CD/DVD (2015 г.)
И такое бывало.... мало ли, пу ....
16.05.2024
Windows 3.11 - полный дистрибутив!
Windows 3.11 - полный дистрибутив!
старые окна ....
03.09.2023
Не Play Market-ом единым
Не Play Market-ом единым
Свободное ПО для Android ....
04.11.2023
1С Бухгалтерия - ошибка формата потока (3.0.88.22)
1С Бухгалтерия - ошибка формата потока (3.0.88.22)
1С Бухгалтерия - ошибка формат ....
16.05.2024
Как сбросить пароль Windows 7-10
Как сбросить пароль Windows 7-10
Входим в нее...... ....
17.08.2024
Установка OwnCloud на Linux Debian 11 или 12
Установка OwnCloud на Linux Debian 11 или 12
Отличное облачное решение для ....
17.05.2024
Frontol XPOS Настройка копии чека
Frontol XPOS Настройка копии чека
FrontolXPOS - настраиваем печа ....
16.05.2024
Простое лимитирование дискового пространства Linux
Простое лимитирование дискового пространства Linux
Разделяй и влавствуй над диско ....
09.10.2024
Убираем из адресной строки www
Убираем из адресной строки www
убираем зеркала сайтов исключа ....
13.08.2023
Многофункциональный обработчик кнопок JQuery
Многофункциональный обработчик кнопок JQuery
Многофункциональный обработчик ....
13.08.2023
В браузерах лезет реклама
В браузерах лезет реклама
Убираем рекламные вирусы ....
01.01.1970
Обновляем Debian с 11 на 12!
Обновляем Debian с 11 на 12!
Обновляем операционку почти бе ....
16.05.2024
Как разблокировать системный реестр Windows
Как разблокировать системный реестр Windows
Если нельзя, но очень хочется ....
16.05.2024
Windows PE
Windows PE
Спасение утопающих в руках уто ....
28.09.2024
QBasic 4.5
QBasic 4.5
Древние языки ....
13.09.2024
Брут http-авторизации на PHP
Брут http-авторизации на PHP
Взлом HTTP-авторизации ....
09.10.2024
Программы восстановления удаленных файлов
Программы восстановления удаленных файлов
Реанимируем почти убитое ....
16.05.2024
LanScope 2.9.1
LanScope 2.9.1
Простая программа для сканиров ....
11.08.2023
Опыт заработка на сайте
Опыт заработка на сайте
Можно ли нормально заработать ....
25.01.2023
Установка Debian и Ubuntu по сети через PXE
Установка Debian и Ubuntu по сети через PXE
бездисковая установка линукс! ....
16.05.2024
Как установить mod_rewrite
Как установить mod_rewrite
Всякие редиректы и ЧПУ ....
16.05.2024
Настройка spamassassin для работы с MySQL
Настройка spamassassin для работы с MySQL
Боремся со спамом ....
01.01.1970
Бесплатный SSL-сертификат и настройка Nginx
Бесплатный SSL-сертификат и настройка Nginx
Бесплатные ssl сертификаты ....
16.05.2024
Ускорение работы сайта
Ускорение работы сайта
Ускоряем сайт с помощью настро ....
26.05.2024
Python - самообучающийся чат-бот для Телеграмм
Python - самообучающийся чат-бот для Телеграмм
скачать бесплатно бота для тел ....
16.05.2024
PHP-скрипт антибот
PHP-скрипт антибот
Не даем шерстить сайт вредным ....
16.05.2024