2013-02-18 7 views
0

Я обслуживаю свой контент через Apache и Nginx в Webfaction. Webfaction поддерживает директиву «epxires_max» для своего сервера Nginx для всего статического контента (изображения, css-файлы, js и т. Д.)., обслуживающий неограниченный контент с помощью оптимизации Nginx и SEO

Я попытался Google PageSpeed Tool и говорит, что это:

Следующие кэшируемые ресурсы имеют короткий срок службы свежести. Укажите срок действия, по крайней мере одна неделя в будущем для следующих ресурсов:

, а затем перечисляет около 50 изображений, которые он считает мне нужно указать их истечения.

Так что мои вопросы:

(а) Обслуживание контента через (Apache и) Nginx (не включены не директива expires_max) и использовать Memcached, мне также необходимость указать более перезаписывать информацию для моего статического контента?

b) Помимо «expires_max» есть ли у меня другие возможности?

ответ

1

В основном перезаписывать информацию задается посредством использования HTTP-заголовков, specifcally некоторые сочетание Expires, Cache-Control и, возможно, Etag и `Last-Modified. См. Например, http://www.mnot.net/cache_docs/ для получения дополнительной информации о том, как работает кеширование и что означают заголовки.

Настройка этих заголовков, как правило, то, что вы делаете в конфигурации веб-сервера:

  • Для Apache вы можете добавить необходимые конфигурации для основного апача конфигурации (если у вас есть доступ ко что), или с помощью. htaccess файлы. Какие директивы вы можете добавить в эти файлы .htaccess, зависит от того, как в основной конфигурации настроена директива AllowOverride.
  • Nginx необходим доступ к к основному серверу конфигурационные файлы, не будучи механизм похож на .htaccess (см http://wiki.nginx.org/LikeApache-htaccess почему)

Другими словами, вам необходимо обратиться в службу поддержки webfaction (если это не в их ЧаВО) и узнайте, какие опции вы готовы предложить:

  • Вы можете добавить товар в конфигурацию себя самостоятельно? (Я не получил комментариев от ответа Мэтта)
  • Готовы ли они добавлять биты конфигурации в конфигурацию вашего виртуального хоста, если запрашивается через билет?
  • Что задано для параметра AllowOverride Apache? и, следовательно, что вы можете задать себе? (см. документы apache, приведенные выше)
+0

Спасибо. Это было очень информативно. Но действительно ли мне нужно это делать? Это необходимо? Сможет ли это сделать мой сайт быстрее? Не хватает memcached + Nginx? – xpanta

+1

Вы не сделаете этого (ваш сайт будет работать без него), но ваш definately _want_ он (так как это уменьшит задержку, что сделает ваш сайт быстрее). В основном настройка кеш-заголовков позволяет прокси-серверам и браузерам локально сохранять эти ресурсы, а это значит, что при втором доступе он быстрее (из-за сбоя в работе сети), а это означает, что они не используют ваш серверный диапазон, чтобы запрашивать одно и то же множество раз. – cobaco

3

Если вы используете NGINX для обслуживания всех ваших статического контента, то добавление этого в блоке сервера должен сделать трюк:

location ~* \.(?:css|js|gif|jpe?g|png)$ { 
    expires max; 
    add_header Cache-Control public; 
} 
+0

Спасибо, но где «серверный блок»? Я обслуживаю Webfaction, и хотя, полагаю, вы имеете в виду некоторый .conf-файл, уверены ли вы, что у меня есть к нему доступ? – xpanta

+0

https://www.webfaction.com/ список «полный доступ к оболочке» в качестве функции.так что, вероятно, у вас должен быть доступ к conffile. Скорее всего, он находится в '/ etc/nginx/sites-enabled /' (обычно имеет 1 файл конфигурации на сайт) – cobaco

+0

Спасибо, к сожалению, Nginx - это общесистемная установка, и я не могу настроить собственные настройки. Однако мне разрешено устанавливать мою собственную копию, но у меня нет на это времени. Во всяком случае, ответ Мэтта не отвечает на мой вопрос (хотя это хорошо, что нужно знать). – xpanta

Смежные вопросы