[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: ускорить работу сайта
Страницы: 1, 2
andrey888
Надоумелось ускорить работу сайта ... при проверке на гугле и разных онлайн тестов на скорость основную часть времени (87%) занимают изображения ..
на сервере связка apache+nginx

прописал в .htaccess
<IfModule mod_expires.c>
ExpiresActive on
ExpiresByType image/gif "access plus 1 month"
ExpiresByType image/png "access plus 1 month"
ExpiresByType image/jpeg "access plus 1 month"
</IfModule>


проверяю через браузер нифига .. загаловок expires на изображения не устанавливается ...
где то в инете наткнулся на то что в моем случае ( связка apache+nginx ) такая штука работать не будет .. ПОЧЕМУ ? .. и если это действительно так , как правильно сделать то что я хочу сделать ..

и сразу вопрос второй ...
сделать сжатие , тоже через .htaccess
<IfModule mod_gzip.c>
mod_gzip_on Yes
mod_gzip_dechunk Yes
mod_gzip_item_include file \.(html?|txt|css|js|php|pl)$
mod_gzip_item_include handler ^cgi-script$
mod_gzip_item_include mime ^text\.*
mod_gzip_item_include mime ^application/x-javascript.*
mod_gzip_item_exclude mime ^image\.*
mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.*
</IfModule>

запускаю тест - скорость примерно та же .. размер всех файлов тот же . и вроде как тоже видимого результата нет ..

жду подсказок от опытных серв. гуру )

_____________
Прогноз на следующие 5 лет : Россия, Китай - две величайшие державы.
США в Ж*пе. Справедливость восторжествует. )
Kusss
Ставь PageSpeed. Оно подскажет что у тебя не так .
ссылка Для Хрома.

Запакуй js и css, который не изменяются в gzip (7-Zip).
и пропиши отдавать их при наличии.

Если много html может стоит запаковывать страницу.

Ещё сайты подтупливают при синтаксическом анализе.Пока обработают все js.
andrey888
Kusss на нем ( PageSpeed ) в том числе и проверял.. еще раз говорю основная нагрузка из за изображений .. PageSpeed говорит их сжать (либо вероятно брать из кеша) .. два выше написанных кода эту проблему и должный решать .. но результата я не вижу .. проблему описал в первом посте.

_____________
Прогноз на следующие 5 лет : Россия, Китай - две величайшие державы.
США в Ж*пе. Справедливость восторжествует. )
VELIK505
ты через апач ничего не ускоришь через апач статику отдаёшь. отдавай nginx-ом и сжимай им же через qzip
а твои 2 выше написанных кода так для школоты
waldicom
С фига ли это для школоты? Либо браузер возьмет с кеша либо полезе в инет за такой-же картинкой? Хде смысль?

_____________
Свои мозги еще никто не отменял.
Телепатов нету.
andrey888
VELIK505 ты если знаешь так давай пообщаемся..
Про школоту мне потом может быть лично расскажешь.. а пока следующее

если стоит связка Apache + Nginx - это не значит что по умолчанию всю статику на себя уже берет Nginx ?

и еще штука, в Nginx в конфиге стоит

location ^~ /(css|js|img|swf|и еще много всего) {
access_log off;
...
}

если я ниже пропишу еще один вот такого вида

location ^~ /(img|jpeg|gif|png) {
access_log off;
expires 30d;
...
}

он сработает как надо ? то есть именно картинки будут кешироваться на 30 дней ?
..

в тех. поддержке мне написали что ВРОДЕ как должно сработать.. поставить этот код ниже и потом через ssh перезапустить Nginx .

_____________
Прогноз на следующие 5 лет : Россия, Китай - две величайшие державы.
США в Ж*пе. Справедливость восторжествует. )
VELIK505
Цитата (waldicom @ 14.09.2014 - 14:03)
С фига ли это для школоты? Либо браузер возьмет с кеша либо полезе в инет за такой-же картинкой? Хде смысль?

Никто не говорит что если отдавать статику через apach использая различные модули то эффекта не будет, он будет но не особый! для этого вообщето и сделали сервер nginx чтобы решать такие задачи. Почитайте с чего всё начиналось он делался для картинок Рамблера и apache не справлялся когда сысое сделал nginx ситуация поменялась, и с тех пор 95% проектов в том числе и крупных гигантов такие как VK отдают статический контент nginx-ом.
VELIK505
Цитата (andrey888 @ 15.09.2014 - 03:56)
VELIK505 ты если знаешь так давай пообщаемся..
Про школоту мне потом может быть лично расскажешь.. а пока следующее

если стоит связка Apache + Nginx - это не значит что по умолчанию всю статику на себя уже берет Nginx ?

и еще штука, в Nginx в конфиге стоит

location ^~ /(css|js|img|swf|и еще много всего) {
  access_log off;
                        ...
  }

если я ниже пропишу еще один вот такого вида

location ^~ /(img|jpeg|gif|png) {
  access_log off;
  expires 30d;
  ...
  }

он сработает как надо ? то есть именно картинки будут кешироваться на 30 дней ?
..

в тех. поддержке мне написали что ВРОДЕ как должно сработать.. поставить этот код ниже и потом через ssh перезапустить Nginx .

Если стоит связка и включен nginx то он на себя принимает статику!
Используйте qzip сжатие.
gzip on;
# Минимальная длина ответа, при которой модуль будет жать, в байтах
gzip_min_length 1000;
# Разрешить сжатие для всех проксированных запросов
gzip_proxied any;
# MIME-типы которые необходимо жать
gzip_types text/plain application/xml application/x-javascript text/javascript text/css text/json;
# Запрещает сжатие ответа методом gzip для IE6
gzip_disable "msie6";
# Уровень gzip-компрессии
gzip_comp_level 3;

У меня есть клиенты у которых по 60 000 уников в сутки бывает посещалка а VPS так сказать не ахти мощами. И всё держится прекрастно благодаря nginx-у. Вот поиграйся с qzip можешь посмотреть эффект и ты его увидишь.

По поводу твоего вопроса вот шпаргалка в добивку http://habrahabr.ru/company/mkechinov/blog/105716/
andrey888
VELIK505 от СПАСИБО .. услужил . за ссылку отдельное.
попробую

_____________
Прогноз на следующие 5 лет : Россия, Китай - две величайшие державы.
США в Ж*пе. Справедливость восторжествует. )
Guest
Ссылку на сайт дай, так будет нагляднее
andrey888
Guest а ты кто ? 0_о гостям ссылок не дают )

_____________
Прогноз на следующие 5 лет : Россия, Китай - две величайшие державы.
США в Ж*пе. Справедливость восторжествует. )
Guest
andrey888
А анонимам с гугла можно? Как знаешь...
andrey888
добавил в nginx конфиг -

location ~* ^.+\.(jpg|jpeg|gif|png|ico|bmp|rtf|js)$ {
root $root_path;
access_log off;
expires 3d;
}

проверил через https://developers.google.com/speed/pagespeed/insights/
рекомендации те же .. баллы те же .. вообще ничего не изменилось...

VELIK505 а qzip сжатие пример кода для конфига nginx покажи будь добр.

_____________
Прогноз на следующие 5 лет : Россия, Китай - две величайшие державы.
США в Ж*пе. Справедливость восторжествует. )
VELIK505
user www-data;
worker_processes 2;
timer_resolution 100ms;
worker_rlimit_nofile 8192;

error_log /var/log/nginx/error.log warn;
pid /var/run/nginx.pid;


events {
worker_connections 2048;
}


http {
include /etc/nginx/mime.types;
default_type application/octet-stream;

log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';

access_log /var/log/nginx/access.log main;

sendfile on;
#tcp_nopush on;

keepalive_timeout 65;

gzip on;
gzip_min_length 1000;
gzip_proxied any;
gzip_types text/plain application/xml application/x-javascript text/javascript text/css text/json;
gzip_disable "msie6";
gzip_comp_level 3;

include /etc/nginx/conf.d/*.conf;
include /usr/local/ispmgr/etc/nginx.domain;
client_max_body_size 64M;
log_format isp '$bytes_sent $request_length';
server {
server_name mysite.ru www.mysite.ru;
listen 176.42.1.232;
charset WINDOWS-1251;
disable_symlinks if_not_owner from=$root_path;
index index.php;
set $root_path /var/www/mysite/data/www/mysite.ru;
location ~* ^.+\.(jpg|jpeg|gif|png|svg|js|css|mp3|ogg|mpe?g|avi|zip|gz|bz2?|rar|swf)$ {
root $root_path;
access_log /var/www/nginx-logs/mysite isp;
access_log /var/www/httpd-logs/mysite.ru.access.log ;
error_page 404 = @fallback;
}
location / {
proxy_pass http://176.42.1.232:81;
proxy_redirect http://176.42.1.232:81/ /;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Real-IP $remote_addr;
}
location ~* ^/(webstat|awstats|webmail|seo23n214096123m123312|pgadmin)/ {
proxy_pass http://176.42.1.232:81;
proxy_redirect http://176.42.1.232:81/ /;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Real-IP $remote_addr;
}
location @fallback {
proxy_pass http://176.42.1.232:81;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Real-IP $remote_addr;
}
location ^~ /webstat/ {
auth_basic "Restricted area";
auth_basic_user_file /var/www/mysite/data/etc/1179754.passwd;
try_files $uri @fallback;
}
include /usr/local/ispmgr/etc/nginx.inc;
}
}
Invis1ble
небольшой оффтоп
Цитата
# Запрещает сжатие ответа методом gzip для IE6
gzip_disable "msie6";

а как сервер определяет ишака? он каким-то заголовком палится? smile.gif
и зачем запрет ставится для него, он не умеет распаковывать gzip?


_____________

Профессиональная разработка на заказ

Я на GitHub | второй профиль

Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.