Как установить Nginx с Лаком

При входе в Конфигурацию Площади поверхности для Услуг и Соединений проверьте, чтобы удостовериться, что удаленные соединения позволяются, и что она не вернулась назад, чтобы только позволить локальные соединения.

4
задан 28 August 2012 в 01:58
2 ответа

Apache будет все еще служить статическим файлам, но он будет только служить им однажды. Возможно, самый легкий путь состоит в том, чтобы настроить лак, чтобы послушать на всех IP-адресах для порта 80 и настроить Apache для слушания на localhost:8000 например. Затем Вы настраиваете лак для передачи всех запросов, к которым он получает localhost:8000 чтобы Apache обработал.

Я пошел бы с конфигурацией лака:

# have varnish listen on port 80 (all addresses)
varnishd -a 0.0.0.0:80

Теперь в Вашем vcl файл:

backend default {
  .host = "localhost";
  .port = "8000";
}

sub vcl_recv {
  # add a unique header containing the client IP address
  set req.http.X-Orig-Forwarded-For = client.ip;

  # we're only handling static content for now so remove any
  # Cookie that was sent in the request as that makes caching
  # impossible.
  if (req.url ~ "\.(jpe?g|png|gif|ico|js|css)(\?.*|)$") {
    unset req.http.cookie;
  }
}

vcl_fetch {
  # if the backend server adds a cookie to all responses,
  # remove it from static content so that it can be cached.
  if (req.url ~ "\.(jpe?g|png|gif|ico|js|css)(\?.*|)$") {
    unset obj.http.set-cookie;
  }
}

Теперь в Вашем Apache httpd.conf конфигурация, Вы хотите, чтобы Apache послушал на localhost:8000 и определите свои виртуальные хосты на том же address:port

Listen 127.0.0.1:8000
NameVirtualHost 127.0.0.1:8000

Для каждого веб-сайта создайте a <VirtualHost> строка файла конфигурации. В рамках той строки файла конфигурации необходимо сказать Apache устанавливать Expires и заголовки управления кэша на всем статическом содержании так лак знают для кэширования его.

<VirtualHost 127.0.0.1:8000>
  ServerName www.our-example-domain.com

  # Set expires and cache-control headers on static content and
  # tell caches that the static content is valid for two years
  ExpiresActive on

  <FilesMatch "\.(js|css|ico|gif|png|jpe?g)$">
    ExpiresDefault "access plus 2 year"
    Header append Cache-Control "public"
  </FilesMatch>

  # ... the rest of your web site configuration ...
</VirtualHost>

Я надеюсь, что это помогает.

6
ответ дан 3 December 2019 в 03:13

В пользу будущих читателей, для примера VCL обеспечивает rjk:

  • Я использовал бы, "удаляют" вместо "сброса" для переменной cookie HTTP.
  • Объявление подпрограммы 'vcl_fetch {' должно быть записано как 'sub vcl_fetch {', также.

Иначе, пятно на.:)

0
ответ дан 3 December 2019 в 03:13

Теги

Похожие вопросы