Поиск по сайту:

Как установить Varnish Cache с Apache на CentOS 7


Это руководство существует для этих версий ОС

  • CentOS 8
  • CentOS 7

На этой странице

  1. Что мы будем делать
  2. Необходимое условие
  3. Шаг 1. Установите и настройте Apache в CentOS 7
  4. Шаг 2. Настройте Apache на порт 8080
  5. Шаг 3. Установите Varnish на CentOS 7
  6. Шаг 4. Настройте Varnish в качестве обратного прокси-сервера для Apache
  7. Шаг 5. Настройка Firewalld
  8. Шаг 6. Тестирование
  9. Справочник

Varnish — это прокси-сервер, ориентированный на кэширование HTTP. Он разработан как ускоритель HTTP и может выступать в качестве обратного прокси-сервера для вашего веб-сервера Apache или Nginx. Varnish использовался для известных веб-сайтов с высокой посещаемостью, включая Wikipedia, The Guardian и New York Times.

В этом руководстве мы покажем вам, как установить и настроить ускоритель HTTP лака в качестве обратного прокси-сервера для веб-сервера Apache. Настоящий веб-сервер Apache будет работать с нестандартным HTTP-портом (работает на порту 8080). И Varnish будет работать как обратный прокси-сервер на HTTP-порту 80. В этом руководстве мы будем использовать сервер CentOS 7.

Что мы будем делать

  1. Установите Apache на CentOS 7.
  2. Настройте Apache на порт 8080.
  3. Установка Varnish на CentOS 7
  4. Настройте Varnish в качестве обратного прокси-сервера для Apache.
  5. Настройка брандмауэра
  6. Тестирование

Предпосылка

  • Сервер CentOS 7
  • Привилегии root

Шаг 1. Установите и настройте Apache на CentOS 7.

Мы установим веб-сервер Apache/httpd из репозитория CentOS 7, а затем настроим сервер, который будет работать на порту 8080.

Установите Apache/httpd с помощью приведенной ниже команды yum.

yum -y install httpd

После завершения установки запустите службу httpd и включите ее при загрузке системы с помощью приведенных ниже команд.

systemctl start httpd
systemctl enable httpd

Итак, служба httpd теперь работает. Проверьте это с помощью команды netstat или curl, как показано ниже.

netstat -plntu
curl -I localhost

Таким образом, веб-сервер Apache/httpd был установлен.

Шаг 2. Настройте Apache на порт 8080.

На этом шаге мы настроим веб-сервер Apache/httpd для работы на порту 8080. Для этого мы должны сначала отредактировать файл конфигурации httpd.conf.

Перейдите в каталог конфигурации Apache и отредактируйте файл httpd.conf.

cd /etc/httpd/
vim conf/httpd.conf

Измените порт по умолчанию с 80 на 8080 в строке прослушивания.

Listen 8080

Сохранить и выйти.

Теперь проверьте конфигурацию и убедитесь в отсутствии ошибок. Затем перезапустите службу apache/httpd.

apachectl configtest
systemctl restart httpd

Теперь снова проверьте с помощью netstat и убедитесь, что веб-сервер работает на порту 8080.

netstat -plntu

Шаг 3 — Установите Varnish на CentOS 7

На этом этапе мы установим высокопроизводительный HTTP-акселератор Varnish. Он доступен в репозитории EPEL (Extra Packages for Enterprise Linux), поэтому нам нужно установить репозиторий перед установкой Varnish.

Установите репозиторий EPEL с помощью следующей команды.

yum -y install epel-release

Теперь установите Varnish из репозитория EPEL с помощью команды yum ниже.

yum -y install varnish

После завершения установки запустите Varnish и добавьте его для запуска при загрузке системы с помощью приведенных ниже команд systemctl.

systemctl start varnish
systemctl enable varnish

По умолчанию Varnish будет использовать порты 6081 и 6082. Проверьте это с помощью приведенной ниже команды netstat.

netstat -plntu

И убедитесь, что мы получаем порт Varnish по умолчанию, как показано ниже.

Шаг 4. Настройте Varnish в качестве обратного прокси-сервера для Apache.

Итак, Varnish установлен, и теперь мы настроим его как обратный прокси для веб-сервера Apache. По умолчанию Varnish будет работать на HTTP-порту 80.

Перейдите в каталог конфигурации Varnish и отредактируйте конфигурацию по умолчанию в default.vcl.

cd /etc/varnish
vim default.vcl

Определите бэкэнд-раздел по умолчанию. Мы используем веб-сервер Apache, работающий на порту 8080, поэтому конфигурация приведена ниже.

backend default {
    .host = "127.0.0.1";
    .port = "8080";
}

Сохранить и выйти.

Затем настройте Varnish для работы с HTTP-портом 80. Отредактируйте файл Polish.params, находящийся в каталоге конфигурации Varnish.

vim varnish.params

В этом файле измените значение строки VARNISH_LISTEN_PORT на HTTP-порт 80.

VARNISH_LISTEN_PORT=80

Сохранить и выйти.

Теперь перезапустите Varnish и проверьте статистику с помощью команды netstat.

systemctl restart varnish
netstat -plntu

Убедитесь, что у вас есть результат, подобный показанному ниже.

Был установлен Varnish HTTP Accelerator, и теперь он действует как обратный прокси-сервер для веб-сервера Apache.

Шаг 5 — Настройте Firewalld

На этом этапе мы установим Firewalld и откроем новые порты HTTP и HTTPS.

Установите Firewalld с помощью следующей команды yum.

yum -y install firewalld

Теперь запустите службу и включите ее автоматический запуск при загрузке системы.

systemctl start firewalld
systemctl enable firewalld

Затем откройте новый порт для запросов HTTP и HTTPS с помощью команды firewalld-cmd, как показано ниже.

firewall-cmd --add-service=http --permanent
firewall-cmd --add-service=https --permanent

Перезагрузите конфигурацию брандмауэра.

Вот и все. Настройка Firewalld завершена.

Шаг 6 — Тестирование

Чтобы протестировать Varnish, сначала выполните следующую команду curl.

curl -I hakase-labs.co

И на выходе убедитесь, что вы получаете заголовок HTTP, аналогичный показанному на следующем снимке экрана.

Затем протестируйте Varnish из браузера. Для этого откройте веб-браузер и введите URL-адрес или адрес сервера.

http://hakase-labs.co

Убедитесь, что он работает, как показано ниже.

Примечание. Если вы получили 403 Forbidden, вам необходимо создать файл index.html в каталоге /var/www/html.

cd /var/www/html/
echo '<h1><center> Varnish- Apache - hakase-labs</center></h1>' > index.html

Двигаясь дальше, проверьте журнал лака, используя приведенную ниже команду.

varnishncsa

И вы получите журнал доступа к лаку.

Вот и все. Был установлен ускоритель Varnish HTTP, и теперь он работает как обратный прокси-сервер для веб-сервера Apache.

Ссылка

  • https://varnish-cache.org/