Так недавно я переключил свой личный сайт Вдали от Nginx до Caddy. Я планировал это довольно давно, так как хотел попробовать, так как я много слышал об этом И это льготы. Поэтому в этом посте я собираюсь пройти через свое путешествие и настройку, падения и взлеты, которые у меня были до сих пор, и какова моя юрисдикция.
Получение веб -сервера
Первое в любом путешествии веб -сервера — это установка и настройка самого программного обеспечения веб -сервера. Поскольку мой VPS работает в Ubunt
sudo apt install -y
Однако на этот раз это не так, поскольку из -за того, что мой сервер был за CloudFlare, мне пришлось включить плагин Для Caddy для обеспечения поддержки DNS CloudFlare.
Для этого мне сначала пришлось установить последнюю версию языка Go, так как Caddy создан на Go, однако последняя версия в репозиториях Ubuntu в то время была GO 1.13, а Caddy нуждался в GO 1.14, чтобы исправить это Я запустил следующие команды, чтобы добраться до 1.14.2 и, наконец, добавил на мой путь.
wget -c https://dl.google.com/go/go1.14.2.linux-amd64.tar.gz -O - | sudo tar -xz -C /usr/local
После установки GO я установил Caddy’s xcaddy Инструмент, чтобы позволить мне создать веб -сервер из источника, используя плагин, инструмент был довольно прост в использовании и позволил мне создать исполняемый файл с помощью одной команды
xcaddy build --with github.com/caddy-dns/cloudflare
После того, как он закончил компиляцию, я только что хлопнул в одиночку исполняемого файла в /usr/bin
И теперь был установлен Кэдди.
Конфигурация
После установки Caddy появилась конфигурация, сначала эта часть была немного сложной, но через некоторое время я понял, что мне нужно было сделать. Первое, что мне нужно было сделать, это создать токен API CloudFlare с 2 разрешениями. , об этом можно прочитать о Здесь Анкет
Создание фактической конфигурации для веб -сервера было чрезвычайно простым по сравнению с файлами конфигурации NGINX, ниже приведена моя текущая конфигурация для моего веб -сайта
{ root * /var/www/html file_server tls { dns cloudflare {env.CLOUDFLARE_API_TOKEN} } }
После этого вы можете сказать Caddy использовать Caddyfile
или преобразовать его в JSON с командой и используйте это , поэтому я пошел вперед и сделал последнее с командой ниже
caddy adapt --config Caddyfile >> /etc/caddy/config.json
Затем, наконец, я смог запустить веб -сервер с простой командой
sudo caddy start --config /etc/caddy/config.json
Системная конфигурация
Поскольку я хотел иметь возможность запустить Caddy на заднем плане и позволить Systemd управлять им, я создал для него простой сервис
[Unit] Description=Caddy Web Server Requires=network.target [Service] ExecStart=/usr/bin/caddy run --config /etc/caddy/config.json ExecReload=/usr/bin/caddy reload --config /etc/caddy/config.json ExecStop=/usr/bin/caddy stop [Install] WantedBy=multi-user.target
Последние слова
Установка Caddy, безусловно, была путешествием, но у Caddy есть его Upsides, от автоматического обновления сертификатов, автоматического HTTPS/SSL в целом, созданного на новых технологиях, а также более простых конфигураций и установки плагинов, я думаю, что это стоило того. Вы можете прочитать больше о Caddy Здесь Анкет Спасибо за чтение!
Оригинал: «https://dev.to/hanna/goodbye-nginx-hello-caddy-3p1k»