img

Caddy: установка и настройка веб сервера

Веб-сервер - это серверное приложение, предназначенное для обработки HTTP-запросов между клиентом и сервером. HTTP - это базовый и широко используемый сетевой протокол.

Apache HTTP Server сыграл важную роль в разработке веб-сайтов. Только у него доля рынка 37,3%. Nginx занимает второе место в списке, с долей рынка 32,4%. Microsoft IIS и LiteSpeed с долей рынка 7,8% и 6,9% занимают 3 и 4 места соответственно.

Но недавно я наткнулся на веб-сервер с названием Caddy. Когда развернул его для тестирования и попытался узнать о его функциях, был приятно удивлён. Это переносимый веб-сервер с минимальной конфигурацией. Я решил, что это очень крутой проект и захотел поделиться им с вами.


Что такое Caddy?

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

Caddy является первым и единственным веб-сервером, который может автоматически получать и обновлять сертификаты SSL/TLS с помощью сервиса Let 's Encrypt.


Функции Caddy

  • Быстрое выполнение HTTP-запросов с использованием HTTP/2.
  • Веб-сервер с наименьшей конфигурацией и беспрепятственным развертыванием.
  • TLS шифрование обеспечивает безопасную связь между приложениями и пользователями через Интернет. Вы можете использовать собственные ключи и сертификаты.
  • Простота развертывания/использования. Только один файл без зависимости от платформы.
  • Установка не требуется.
  • Портативные исполняемые файлы.
  • Запуск нескольких ЦП/ядер.
  • Усовершенствованная технология WebSockets - интерактивный сеанс связи между браузером и сервером.
  • Разметка документов на лету.
  • Полная поддержка нового протокола IPv6.
  • Создает журнал в пользовательском формате.
  • Поддержка Fast CGI, обратного прокси, перезаписи и перенаправления, чистый URL-адрес, сжатия Gzip, просмотра каталогов, виртуальных хосты и заголовков.
  • Доступно для всех известных платформ - Windows, Linux, BSD, Mac, Android.

Чем отличается Caddy?

  • Caddy стремится обслуживать интернет, как это должно быть в 2020 году, а не в традиционном смысле.
  • Обладает новейшими функциями - HTTP/2, IPv6, Маркдаун, WebSockets, CreateCGI, шаблоны и другие стандартные функции.
  • Запуск исполняемые файлы без установки.
  • Подробная документация с наименьшим техническим описанием.
  • Разработан с учетом потребностей конструкторов, разработчиков и блоггеров.
  • Поддержка виртуального хоста можете создавать любое количество сайтов.
  • Подходит для всех - независимо от того, является ли ваш сайт статическим или динамическим.
  • Вы фокусируетесь на том, чего достичь, а не на том, как этого добиться.
  • Доступность поддержки большинства платформ - Windows, Linux, Mac, Android, BSD.
  • Обычно на каждый сайт приходится по одному файлу Caddy.
  • Возможность настройки буквально за 1 минуту, даже для тех, кто не сильно дружит с компьютером.

Тестовая среда

Я буду тестировать его на сервере CentOS, а также на сервере Debian, но те же инструкции работают и на дистрибутивах RHEL и Debian. Для обоих серверов я буду использовать 64-разрядные исполняемые файлы.


Установка веб-сервера Caddy на Linux

Независимо от используемой платформы и архитектуры Caddy предоставляет готовые установщики, которые можно запустить с помощью встроенного в систему пакетного менеджера.


Установка Caddy на Fedora, RedHat, CentOS

Мы установим последнюю версию веб-сервера Caddy из репозитория CORP на Fedora и RHEL/CentOS8.

# dnf install 'dnf-command(copr)'
# dnf copr enable @caddy/caddy
# dnf install caddy

На RHEL/CentOS 7 используйте следующие команды:

# yum install yum-plugin-copr
# yum copr enable @caddy/caddy
# yum install caddy

Установка Caddy на Debian и Ubuntu

$ echo "deb [trusted=yes] https://apt.fury.io/caddy/ /" 
    | sudo tee -a /etc/apt/sources.list.d/caddy-fury.list
$ sudo apt update
$ sudo apt install caddy

Установив веб-сервер Caddy, с помощью следующих команд systemctl его можно запустить, активировать или же проверить статус:

# systemctl start caddy
# systemctl enable caddy
# systemctl status caddy

Теперь откройте браузер и введите следующий адрес, и вы должны увидеть страницу приветствия Caddy:

http://Server-IP
OR
http://yourdomain.com
Caddy успешно установлен

Настройка доменов в Caddy

Чтобы настроить домен, сначала необходимо указать DNS-записи A/AAAA домена на этом сервере на панели управления DNS. Затем создайте корневой каталог документа для веб-сайта "example.com" в папке/var/www/html, как показано на рисунке.

$ mkdir /var/www/html/example.com

При использовании SELinux необходимо изменить контекст безопасности файлов для веб-содержимого.

# chcon -t httpd_sys_content_t /var/www/html/example.com -R
# chcon -t httpd_sys_rw_content_t /var/www/html/example.com -R

Теперь откройте и отредактируйте файл конфигурации caddy по адресу /etc/caddy/Caddyfile.

# vim /etc/caddy/Caddyfile

Замените :80 на название вашего домена и измените корень сайта на /var/www/html/example.com, как показано на рисунке.

Настройка /etc/caddy/Caddyfile

Чтобы изменения вступили в силу перезапустите службу Caddy:

# systemctl reload caddy

Теперь создайте какую-нибудь HTML-страницу (можно создать собственную) и сохраните её в корневом каталоге веб-сайта.

# touch /var/www/html/example.com/index.html

Добавьте следующий HTML-код в только что созданный файл.

# echo '<!doctype html><head><title>Caddy Test Page at TecMint</title></head><body><h1>Hello, World!</h1></body></html>' | sudo tee /var/www/html/index.html

А теперь перезагрузите страницу, и вы должны увидеть нечто подобно скриншоту ниже:

SSL настроен на Caddy

Если все настроено правильно, домен будет доступен по протоколу HTTPS, что означает на вашем сайте настроено безопасное SSL подключения.


Заключение

Если вы новичок и хотите настроить веб-сервер, не заморачиваясь долгой настройкой, этот инструмент идеально подходит для вас. Даже если вы опытный пользователь, который нуждается в мгновенном и простом веб-сервере, то стоит обратить внимание на Caddy. Если необходим более навороченный сервер с расширенными возможностями, то можно с минимальными конфигурациями задать разрешения на папки, управлять аутентификацией, страницей ошибок, архивацией, перенаправлением HTTP запросов и другими настройками.

Конечно же нельзя воспринимать Кэдди в качестве замены Apache или Nginx. Caddy не предназначен для работы в среде с высоким трафиком. Но он хорошо подойдёт в тех случаях, где нужно быстро настроить надежный веб-сервер.

Ссылка
скопирована
DevOps
Скидка 25%
DevOps-инженер с нуля
Научитесь использовать инструменты и методы DevOps для автоматизации тестирования, сборки и развертывания кода, управления инфраструктурой и ускорения процесса доставки продуктов в продакшн. Станьте желанным специалистом в IT-индустрии и претендуйте на работу с высокой заработной платой.
Получи бесплатный
вводный урок!
Пожалуйста, укажите корректный e-mail
отправили вводный урок на твой e-mail!
Получи все материалы в telegram и ускорь обучение!
img
Еще по теме:
img
  В современном технологическом мире контейнерные технологии используются везде. Самой популярной платформой для управления конт
img
  На сегодняшний день контейнеры – это то, без чего не обходится запуск приложений. А самая популярная контейнерная технология
img
Введение Разработчик при написании кода должен быть максимально продуктивным. Однако бывают ситуации, когда им приходится выпо
img
  Kubernetes стал незаменимым инструментом для оркестровки, масштабирования, автоматического развертывания и управления контей
img
  С помощью контейнеров вы можете упаковать свое приложение и сделать его, таким образом, переносимым. В результате оно сможет р
img
Введение Kubernetes – это платформа, которая предоставляет возможность работать с модулями, службами и внешними ресурсами и пр
Комментарии
ЛЕТНИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59