По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
img
Веб-сервер - это серверное приложение, предназначенное для обработки 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 Чтобы настроить домен, сначала необходимо указать 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, как показано на рисунке. Чтобы изменения вступили в силу перезапустите службу 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 А теперь перезагрузите страницу, и вы должны увидеть нечто подобно скриншоту ниже: Если все настроено правильно, домен будет доступен по протоколу HTTPS, что означает на вашем сайте настроено безопасное SSL подключения. Заключение Если вы новичок и хотите настроить веб-сервер, не заморачиваясь долгой настройкой, этот инструмент идеально подходит для вас. Даже если вы опытный пользователь, который нуждается в мгновенном и простом веб-сервере, то стоит обратить внимание на Caddy. Если необходим более навороченный сервер с расширенными возможностями, то можно с минимальными конфигурациями задать разрешения на папки, управлять аутентификацией, страницей ошибок, архивацией, перенаправлением HTTP запросов и другими настройками. Конечно же нельзя воспринимать Кэдди в качестве замены Apache или Nginx. Caddy не предназначен для работы в среде с высоким трафиком. Но он хорошо подойдёт в тех случаях, где нужно быстро настроить надежный веб-сервер.
img
На базе нашего опыта и статей мы сделалем еще один полезный документ: руководство администратора по Linux/Unix системам. В документе мы описали самые частые сценарии повседневной работы администратора, с которыми встречались сами. От Ubuntu до FreeBSD, от 10 команд, которые "убьют" твой сервер до 15 лучших дистрибутивов Linux, от установки RPM до принципов работы с CURL. Получившееся руководство администратора по Linux/Unix можно получить по ссылке ниже: Скачать
img
Итак, вы хотите стать DevOps-инженером? Это впечатляющий, сложный и высокооплачиваемый вариант карьеры, но такая ключевая роль объединяет разработку программного обеспечения и его эксплуатацию. Мы составили дорожную карту DevOps, которая включает в себя все шаги, которые необходимы для того, чтобы занять место эксперта DevOps. Как вы знаете, DevOps – это набор практик и инструментов для интеграции и автоматизации процессов между IT-командами и командами разработчиков программного обеспечения. Поэтому он фокусируется на общении и сотрудничестве между командами, используя лучшие инструменты автоматизации, доступные для повышения эффективности. Следующий акцент делается на объединении тех, кто работает в области разработки программного обеспечения с развертыванием ПО, а также на обеспечении высокого уровня структурной и технической поддержки. Это все означает, что DevOps-инженеры должны знать свое дело, чтобы справиться с этой неподъемной задачей. А что же тогда такое «их дело»? Оказывается, что это не просто их дело, но и дело всех остальных. Конечно, это может звучать, как что-то невероятное, что мало кто может преодолеть. DevOps-инженеры действительно являются экспертами высокого уровня, и стать одним из них также практически невозможно. Вместе с тем, данное руководство поможет вам четко понять, какие шаги необходимо предпринять, прежде чем начать свое путешествие по DevOps. Давайте посмотрим. Зачем вам нужна дорожная карта DevOps? В нашей статье о DevOps рассказывается о том, почему стать DevOps-инженером так сложно, ведь DevOps-команды включают в себя разработчиков и IT-специалистов, работающих рука об руку на протяжении всего жизненного цикла проекта. И поэтому, дорожная карта DevOps предполагает высокие навыки и необходимые шаги, которые помогают повысить скорость и качество разработки и развертывания и предотвратить организационную разрозненность. Иногда команды объединяются, чтобы максимизировать эффективность, при этом инженеры работают на протяжении всего жизненного цикла продукта или приложения. Итак, каковы же эти требования? Вот этот исчерпывающий список для того, чтобы получить эту дорожную карту, которая направит вас на верный путь. Как стать DevOps-инженером за 14 шагов 1. Изучайте языки программирования Первый шаг к тому, чтобы стать DevOps-инженером, - это владение одним или несколькими языками программирования. Конечно, вы не будете интегрировать базы данных или автоматизировать процессы разработки и развертывания, отлаживать базы данных, отлаживать код и исправлять возникающие проблемы, но в результате вы должны внести свой вклад в поддержание конвейера непрерывной интеграции/поставки в рабочем состоянии. Если вы читаете эту статью, то мы можем предположить, что вы владеете хотя бы одним из «больших» языков программирования, таких как Java, JavaScript или Python. Но если все же нет, то мы рекомендуем вам повысить уровень знания до высокого как минимум двух или трех языков программирования из списка ниже: Python Perl Java JavaScript Go Ruby Rust C C++ 2. Научитесь работать с разными ОС DevOps-инженеру необходимо знать, как работают разные операционные системы, а также различия между ними, в основном потому, что вы будете запускать приложения на серверах. В связи с этим, оптимальным решением для такого рода вещей, как правило, является Linux – ее используют большинство компаний и поставщиков серверов. Если вы используете веб-приложение, то оно, вероятнее всего, находится на сервере Linux. Есть и другие операционные системы, которые не помешает знать: Windows Unix Debian SUSE Linux Fedora Ubuntu CentOS RHEL macOS FreeBSD OpenBSD NetBSD 3. Концепция ОС Так вот, операционные системы – это лишь часть дорожной карты DevOps. Также вы должны быть в состоянии углубиться, понимая базовую инфраструктуру ОС, которая позволяет вам запускать приложение. Это называется «концепцией операционной системы», и вы должны быть знакомы с: Управлением запуском Управлением процессом Сокетами Front-end разработкой Потоками и параллелизмом Управлением вводом/выводом Основами POSIX Виртуализацией Файловыми системами Памятью и хранилищем Управлением службами Сетью 4. Сетевая безопасность и протоколы Как DevOps-инженер, вы должны быть всегда спокойны. Сетевая безопасность и протоколы помогут вам обеспечить целостность и безопасность ваших данных. Они определяют процессы и методологии, которые вы будете использовать для защиты вашей сети от попыток несанкционированного доступа. Вот протоколы, о которых вам следует знать: HTTP HTTPS FTP Межсетевые экраны SSH SSL/TTS IPsec и VPN Переадресация портов AT-TLS SNMP Аутентификация OSFP Прокси-доступ 5. Терминалы – ваш новый дом Консоль позволяет разработчикам автоматизировать, создавать сценарии и выполнять системные задачи без использования графического пользовательского интерфейса. В следствие чего, вы должны уметь работать с текстом, создавать bash-сценарии, отслеживать процессы, производительность системы, работать в сети, компилировать приложения из исходника, Vim, Nano, Emacs и Powershell. Мы готовы поспорить, что, если вы уже привыкли, и вам удобно, создавать файлы .cfg в выбранной вами FPS, то здесь вы будете как дома. И вам в любом случае нужно будет это делать. 6.Веб-серверы Когда пользователь запрашивает информацию, сервер выполняет запрос. На веб-сервере может размещаться один или несколько веб-сайтов с использованием одного и того же оборудования и ресурсов. Он взаимодействует с веб-браузером через HTTP/HTTPS. Быть DevOps-инженером означает знать, как контролировать сервер. Вот некоторые распространенные веб-серверы, о который вам стоит узнать: Apache Nginx IIS Tomcat Caddy Istio Envoy Consul Linkerd 7. Инструменты непрерывной интеграции/непрерывной поставки Конвейер непрерывной интеграции/поставки (CI/CD) необходим для разработки программного обеспечения в рамках DevOps. Как было сказано в предыдущей статье, непрерывная интеграция – это методика разработки программного обеспечения, при которой разработчики объединяют все изменения кода, которые они вносят, в единый репозиторий. В то время как, непрерывная поставка реализует изменения кода, которые автоматически создаются, тестируются и подготавливаются в производственному выпуску. Ее можно рассматривать как расширение непрерывной интеграции. Вот некоторые из инструментов, которые вы можете использовать для этой цели: TravisCI GitHub GitLab Bamboo Jenkins TeamCity Azure DevOps 8. Изучите инфраструктуру как код (IaC) Пожалуй, это одно из основных направлений работы DevOps-инженеров. Поэтому неудивительно, что эта тема довольно обширная и разнообразная. Знание таких контейнеров, как Kubernetes и Docker, а также различных инструментов управления конфигурацией имеет жизненно важное значение для вашего собственного развития и успеха проектов, которые вы возглавляете. Вот некоторые DevOps-инструменты, о которых вам следует знать: Docker Containers LXC Ansible Salt Chef Puppet Mesos Kubernetes Docker Swarm Nomad Istio Service Mesh Linkerd Consul Connet Maesh Kuma Terraform 9. Управление приложениями Управление приложениями относится к процессу измерения доступности, возможностей и производительности приложения. Данные, собираемые в процессе, позволяют выявлять и устранять баги и ошибки до того, как у пользователей возникнут проблемы. Обычно используется такое программное обеспечение, как: AppDynamic Instana New Relic Jaeger OpenTracing 10. Управление инфраструктурой Эта часть дорожной карты DevOps влечет за собой процесс получения как можно большего количества данных о вашей инфраструктуре с целью принятия обоснованных оперативных решений. В этой связи, используются данные, генерируемые помимо прочего приложениями, серверами и сетевыми устройствами, с целью отслеживание таких показателей, как мощность оборудования, пропускная способность сети и время работоспособности. В свою очередь, эта информация помогает повысить эффективность и устранять ошибки, показывая, какие области требуют большего внимания. Вот некоторые хорошие инструменты для управления инфраструктурой: Grafana Prometheus Zabbix Nagios Datadog 11. Шаблон облачного проектирования Этот шаблон помогает создавать масштабируемые, надежные и безопасные приложения в облаке. Однако для этого необходимо быть знакомым с одним ли несколькими шаблонами облачного проектирования. На наш взгляд, одними из самыми важными являются следующие: Источники событий Посредник CQRS Агрегирование на шлюзе Консолидация вычислительных ресурсов Внешнее хранилище конфигурации Уровень защиты от повреждений Каналы и фильтры Перенесение в шлюз Маршрутизация шлюза Расширение за счет внешних устройств 12. Управление логами Логи помогают составлять список событий, происходящих в системе, и изучать их детали. Благодаря этому, управление журналами поможет вам, то есть начинающему DevOps-инженеру, улучшить службы и процессы, предотвратить уязвимости и выявить узкие места. Вот некоторые из инструментов, которые вы так или иначе будете использовать: Splunk Elastic stack Graylog Papertrail 13. Поставщики облачных услуг и пакеты услуг Как мы уже поняли, облачные услуги – это то, с чем обязательно нужно быть знакомым DevOps-инженеру. Кроме того, вам необходимо понимать преимущества и особенности каждого поставщика облачных услуг для того, чтобы ваша организация могла сделать верный осознанный выбор. Некоторые из популярных заслуживают того, чтобы их изучили, например: Google Cloud AWS Azure Digital Ocean Linode Alibaba Конечно, стоит отметить, что эти провайдеры редко работают по фиксированной стоимости. Как правило, цены на эти услуги зависят от необходимого количества доменов и памяти и SSL-сертификатов, требуемых ЦП. 14. Другие технологии Это лишь краткий список того, что вам нужно сделать, чтобы получить знания на пути к тому, чтобы стать DevOps-инженером. Таблица кэша Обратный прокси-сервер Прокси-сервер переадресации Межсетевой экран Балансировка нагрузки Сервер кэширования Заключение Дорожная карта DevOps предназначена для того, чтобы направить вас на правильный путь к профессиональным навыкам DevOps. Конечно, это не означает, что он уже устоявшийся и не подлежит изменению. Технологии меняются ежедневно, и вы должны постоянно быть в курсе новых инструментов и решений. Еще один пункт на пути к становлению DevOps-инженером – это обучение и адаптация, и, пожалуй, самое важное – хорошо выполнять свою работу. Если вы следуете этой дорожной карте и у вас уже есть солидная база знаний в области компьютерных наук, то вам потребуется всего каких-то шесть месяцев для того, чтобы сдвинуться с той точки, в которой вы сейчас, и дойти до начала своей карьеры DevOps-инженера. Не забудьте добавить следующие пункты в список того, что нужно выучить: Языки программирования Концепции ОС Терминалы Сеть и безопасность Инструменты CI/CD Веб-сервер Инфраструктура как код Управление приложением Управление инфраструктурой Шаблон облачного проектирования Управление журналом Поставщики облачных услуг и управление службами Другие технологии Часто задаваемые вопросы Чем занимается DevOps-инженер? DevOps-инженер использует инструменты, процессы и методологии, чтобы удовлетворить все потребности в процессе разработки программного обеспечения, разработки оболочки пользовательского интерфейса и кодирования для развертывания, обслуживания и обновлений. Сколько времени нужно, чтобы стать DevOps-инженером? Если у вас уже есть опыт работы с Linux и сетями, и вы следуете дорожной карте DevOps-инженера, то это займет примерно шесть месяцев. Что такое CI/CD в DevOps? Это передовая методология DevOps, которая использует автоматизацию разработки приложений, позволяя увеличить скорость разработки и развертывания приложений. CI/CD относится к непрерывной интеграции, поставке и развертыванию.
ВЕСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59