Как установить обратный прокси-сервер Varnish с помощью Nginx в Ubuntu 16.04 LTS
На этой странице
- Что мы будем делать
- Предпосылки
- Шаг 1. Установите Nginx в Ubuntu 16.04
- Шаг 2. Настройка Nginx на порту 8080
- Шаг 3. Установите Varnish в Ubuntu 16.04
- Шаг 4. Настройте Varnish в качестве обратного прокси-сервера для Nginx
- Шаг 5. Настройка брандмауэра UFW
- Шаг 6. Тестирование
- Справочник
Varnish — это прокси-сервер, ориентированный на кэширование HTTP. Он разработан как ускоритель HTTP и может выступать в качестве обратного прокси-сервера для вашего веб-сервера Apache или Nginx. Varnish использовался для известных веб-сайтов с высокой посещаемостью, включая Wikipedia, The Guardian и New York Times.
В этом руководстве я покажу вам, как установить и настроить ускоритель HTTP лака в качестве обратного прокси-сервера для веб-сервера Nginx. Настоящий веб-сервер Nginx будет работать с нестандартным HTTP-портом 8080. Varnish будет работать как обратный прокси-сервер на HTTP-порту 80. В этом руководстве мы будем использовать сервер Ubuntu 16.04.
Что мы будем делать
- Установите Nginx в Ubuntu 16.04.
- Настройка Nginx на порту 8080
- Установка Varnish в Ubuntu 16.04
- Настройка Varnish в качестве обратного прокси-сервера для Nginx
- Настройка брандмауэра UFW
- Тестирование
Предпосылки
- Убунту 16.04
- Привилегии root
Шаг 1. Установите Nginx в Ubuntu 16.04.
Первый шаг, который мы должны сделать для этого руководства, — установить Nginx в систему Ubuntu 16.04. На этом этапе мы установим Nginx (он доступен в официальном репозитории Ubuntu), затем запустим службу, а затем разрешим ее запуск каждый раз при загрузке системы.
Установите Nginx из репозитория Ubuntu с помощью команды apt.
sudo apt install nginx -y
После завершения установки запустите Nginx и включите его каждый раз при загрузке системы с помощью приведенных ниже команд systemctl.
systemctl start nginx
systemctl enable nginx
Веб-сервер Nginx работает на HTTP-порте по умолчанию — проверьте его с помощью netstat и убедитесь, что HTTP-порт используется Nginx.
netstat -plntu
Шаг 2. Настройте Nginx на порту 8080.
На этом этапе мы настроим nginx для работы с нестандартным HTTP-портом 8080. Для этого нам нужно отредактировать файлы виртуального хоста в каталоге, доступном для сайтов.
Перейдите в каталог конфигурации Nginx и отредактируйте файл виртуального хоста по умолчанию с помощью vim.
cd /etc/nginx/
vim sites-available/default
Измените значение строки прослушивания на 8080.
listen 8080 default_server;
listen [::]:8080 default_server;
Сохранить и выйти.
Теперь протестируйте конфигурацию Nginx и убедитесь в отсутствии ошибок. Затем перезапустите службу.
nginx -t
systemctl restart nginx
Теперь снова протестируйте nginx с помощью netstat и убедитесь, что он работает на нестандартном HTTP-порту 8080.
netstat -plntu
Веб-сервер Nginx был установлен и теперь работает на порту 8080.
Шаг 3 — Установите Varnish на Ubuntu 16.04
Теперь нам нужно установить Varnish в систему. Мы можем установить последнюю версию инструментов из источника. И для этого руководства мы будем устанавливать Varnish из репозитория Ubuntu — Varnish v4.
Установите лак с помощью приведенной ниже команды apt.
sudo apt install varnish -y
Теперь запустите лак и включите его при загрузке системы, используя приведенные ниже команды systemctl.
systemctl start varnish
systemctl enable varnish
По умолчанию вы будете использовать порт 6081 для общего доступа и порт 6082 для веб-интерфейса администратора. Проверьте это с помощью команды netstat и убедитесь, что эти порты есть в списке.
netstat -plntu
Был установлен Varnish HTTP Accelerator.
Шаг 4. Настройте Varnish в качестве обратного прокси-сервера для Nginx
В этом руководстве мы будем использовать Varnish в качестве обратного прокси-сервера для веб-сервера Nginx. Varnish будет работать на HTTP-порту 80, а веб-сервер Nginx — на HTTP-порту 8080 (это завершено).
На этом шаге мы настроим Varnish для Nginx, определим внутренний сервер, а затем изменим Varnish для работы с HTTP-портом 80.
Теперь перейдите в каталог конфигурации лака и отредактируйте файл default.vcl.
cd /etc/varnish
vim default.vcl
В строке бэкенда определите конфигурацию, как показано ниже.
backend default {
.host = "127.0.0.1";
.port = "8080";
}
Сохранить и выйти.
Примечание:
- .host=адрес внутреннего веб-сервера.
- .port=резервный веб-сервер, на котором работает.
Настройка серверной части завершена.
Далее нам нужно настроить Varnish для запуска через HTTP-порт 80. Перейдите в каталог /etc/default и отредактируйте файл конфигурации Varnish.
cd /etc/default/
vim varnish
В строке DAEMON_OPTS измените порт по умолчанию 6081 на HTTP-порт 80.
DAEMON_OPTS="-a :80 \
-T localhost:6082 \
-f /etc/varnish/default.vcl \
-S /etc/varnish/secret \
-s malloc,256m"
Сохранить и выйти.
Теперь отредактируйте файл службы лака в каталоге /lib/systemd/system. Перейдите в системный каталог systemd и отредактируйте файл лака.service.
cd /lib/systemd/system
vim varnish.service
В строке ExecStart измените порт лака 6081 на порт HTTP 80.
ExecStart=/usr/sbin/varnishd -j unix,user=vcache -F -a :80 -T localhost:6082 -f /etc/varnish/default.vcl -S /etc/varnish/secret -s malloc,256m
Сохранить и выйти.
Перезагрузите конфигурацию systemd и перезапустите лак.
systemctl daemon-reload
systemctl restart varnish
После завершения настройки проверьте Varnish с помощью приведенной ниже команды netstat.
netstat -plntu
Убедитесь, что Varnish работает на HTTP-порту 80, как показано ниже.
Настройка Varnish в качестве обратного прокси для Nginx завершена.
Шаг 5. Настройте брандмауэр UFW.
Система Ubuntu поставляется с удобочитаемым брандмауэром по умолчанию с именем UFW. Если у вас нет пакета, установите его с помощью приведенной ниже команды apt.
sudo apt install ufw
На этом этапе мы активируем брандмауэр и откроем новые порты для SSH, HTTP и HTTPS.
Запустите приведенные ниже команды ufw.
ufw allow ssh
ufw allow http
ufw allow https
Теперь активируйте брандмауэр и включите его каждый раз при загрузке.
ufw enable
Введите y и нажмите Enter для подтверждения.
Брандмауэр UFW активирован, и HTTP, а также порт HTTPS теперь доступны из внешней сети.
Шаг 6 — Тестирование
- Тестирование с помощью cURL
Тестирование лака с помощью команды curl, чтобы мы могли видеть HTTP-заголовки с сервера.
curl -I hakase-labs.co
И вы получите результат HTTP-заголовка через: 1.1 lact-v4, как показано ниже.
- Тестирование с использованием веб-браузера
Откройте веб-браузер и введите следующий URL-адрес или адрес сервера. Мой: http://hakase-labs.co
Убедитесь, что вы получаете страницу Nginx по умолчанию, как показано ниже.
- Тестирование журнала Varnish
Varnish предоставляет несколько команд для управления и просмотра журналов. Мы будем использовать лаккса для получения журнала доступа к лаку.
varnishncsa
И вы получите результат, как показано ниже.
Установка и настройка Varnish в качестве обратного прокси для веб-сервера Nginx завершена.
Ссылка
- https://varnish-cache.org/