Серверные приложения
3.2.2 Серверные приложения
Linux отлично справляется с запуском серверных приложений благодаря своей надежности и эффективности. Возможность оптимизировать серверные операционные системы с помощью только необходимых компонентов позволяет администраторам делать больше с меньшими затратами — эта функция нравится как стартапам, так и крупным предприятиям.
Одно из первых применений Linux было для веб-серверов. На веб-сервере размещается контент для веб-страниц, которые просматриваются веб-браузером с использованием протокола передачи гипертекста (HTTP) или его зашифрованной разновидности HTTPS . Сама веб-страница может быть статической или динамической. Когда веб-браузер запрашивает статическую страницу, веб-сервер отправляет файл в том виде, в котором он отображается на диске. В случае динамического сайта запрос отправляется веб-сервером приложению, которое генерирует контент.
WordPress является одним из популярных примеров. Пользователи могут разрабатывать контент через свой браузер в приложении WordPress, и программное обеспечение превращает его в полнофункциональный динамический веб-сайт.
Apache является доминирующим веб-сервером, используемым сегодня. Первоначально Apache был самостоятельным проектом, но с тех пор группа сформировала Apache Software Foundation и поддерживает более сотни проектов программного обеспечения с открытым исходным кодом. Apache HTTPD — это демон или серверное приложение, которое «обслуживает» запросы веб-страниц.
Другой веб-сервер — NGINX , базирующийся за пределами России. Он фокусируется на производительности за счет использования более современных ядер UNIX и делает лишь часть того, что может сделать Apache. Более 65% веб-сайтов работают на NGINX или Apache.
По мере того, как отдельные лица, организации и компании начинают перемещать свои данные в облако, растет спрос на программное обеспечение для частных облачных серверов, которое можно развертывать и администрировать внутри компании.
Проект ownCloud был запущен в 2010 году Фрэнком Карличеком для предоставления программного обеспечения для хранения, синхронизации и обмена данными с частных облачных серверов . Он доступен в стандартной лицензии GNU AGPLv3 с открытым исходным кодом и в корпоративной версии с коммерческой лицензией.
Проект Nextcloud был создан Карличеком из ownCloud в 2016 году и с тех пор неуклонно растет. Он предоставляется в рамках GNU AGPLv3 и нацелен на «открытый и прозрачный процесс разработки».
Оба проекта сосредоточены на предоставлении программного обеспечения для частного облака, отвечающего потребностям как крупных, так и небольших организаций, которым требуются безопасность, конфиденциальность и соответствие нормативным требованиям. В то время как несколько других проектов нацелены на обслуживание тех же пользователей, эти два являются самыми крупными с точки зрения как развертывания, так и участников проекта.
Приложения сервера базы данных составляют основу большинства онлайн-сервисов. Динамические веб-приложения извлекают данные из этих приложений и записывают данные в них. Например, веб-программа для отслеживания онлайн-студентов может состоять из внешнего сервера, представляющего веб-форму. Когда данные вводятся в форму, они записываются в приложение базы данных, такое как MariaDB . Когда преподавателям необходимо получить доступ к информации об учениках, веб-приложение запрашивает базу данных и возвращает результаты через веб-приложение.
MariaDB — это форк системы управления реляционными базами данных MySQL , разработанный сообществом . Это всего лишь один из многих серверов баз данных, используемых для веб-разработки, поскольку различные требования диктуют наилучшее приложение для требуемых задач.
База данных хранит информацию, а также позволяет легко извлекать и запрашивать ее. Некоторые другие популярные базы данных — Firebird и PostgreSQL . Вы можете ввести необработанные данные о продажах в базу данных, а затем использовать язык, называемый языком структурированных запросов (SQL), для агрегирования продаж по продуктам и датам для создания отчета.
Электронная почта всегда широко использовалась для серверов Linux. При обсуждении почтовых серверов всегда полезно рассмотреть 3 разные задачи, необходимые для обмена электронной почтой между людьми:
Агент пересылки почты (MTA)
Наиболее известным MTA (программное обеспечение, используемое для передачи электронных сообщений в другие системы) является Sendmail . Postfix — еще один популярный сервис, который призван быть проще и безопаснее, чем Sendmail.
Агент доставки почты (MDA)
Также называемый локальным агентом доставки , он заботится о хранении электронной почты в почтовом ящике пользователя. Обычно вызывается из последнего MTA в цепочке.
POP/IMAP-сервер
Почтовый протокол (POP) и протокол доступа к сообщениям в Интернете (IMAP) — это два протокола связи, которые позволяют почтовому клиенту, работающему на вашем компьютере, связываться с удаленным сервером для получения электронной почты.
Dovecot — популярный сервер POP/IMAP благодаря простоте использования и минимальному обслуживанию. Cyrus IMAP — еще один вариант. Некоторые серверы POP/IMAP реализуют свой собственный формат почтовой базы данных для повышения производительности и включают MDA, если требуется пользовательская база данных. Люди, использующие стандартные форматы файлов (например, все электронные письма в одном текстовом файле), могут выбрать любой MDA.
Существует несколько существенных различий между программным обеспечением с закрытым исходным кодом и программным обеспечением с открытым исходным кодом, одним из которых является включение других проектов в качестве компонентов в проект или пакет . все необходимые или одобренные компоненты, все от Microsoft, так что вариантов для индивидуального выбора практически нет. В мире с открытым исходным кодом многие опции могут быть модульно включены или заменены для компонентов пакета, и действительно, некоторые программные пакеты или комплекты представляют собой просто хорошо упакованный набор отдельных компонентов, гармонично работающих вместе.
Для общего доступа к файлам, ориентированного на Windows, Samba является явным победителем. Samba позволяет машине Linux выглядеть и вести себя как машина Windows, чтобы она могла обмениваться файлами и участвовать в домене Windows. Samba реализует серверные компоненты, такие как предоставление доступа к файлам для совместного использования и определенные роли сервера Windows, а также клиентскую часть, чтобы машина Linux могла использовать общий файловый ресурс Windows.
Проект Netatalk позволяет машине Linux выступать в качестве файлового сервера Apple Macintosh . Собственный протокол обмена файлами для UNIX/Linux называется сетевой файловой системой (NFS) . NFS обычно является частью ядра, что означает, что удаленную файловую систему можно смонтировать (сделать доступной) так же, как обычный диск, что делает доступ к файлам прозрачным для других приложений.
По мере того, как компьютерная сеть становится все более существенной, потребность в каталоге возрастает. Одной из старейших систем сетевых каталогов является система доменных имен (DNS) . Он используется для преобразования имени, например https://www.icann.org/, в IP-адрес, например 192.0.43.7, который является уникальным идентификатором компьютера в Интернете. DNS также содержит глобальную информацию, такую как адрес MTA для данного доменного имени. Организация может захотеть запустить свой собственный DNS-сервер для размещения своих общедоступных имен, а также для использования в качестве внутреннего каталога служб. Консорциум программного обеспечения Интернета поддерживает самый популярный DNS-сервер, называемый просто bind по имени процесса, который запускает службу.
DNS сосредоточен в основном на именах компьютеров и IP-адресах, и его нелегко найти. Появились и другие каталоги для хранения такой информации, как учетные записи пользователей и роли безопасности. Облегченный протокол доступа к каталогам (LDAP) — это одна из распространенных систем каталогов, которая также поддерживает Microsoft Active Directory. В LDAP объект хранится в дереве, и положение этого объекта в дереве можно использовать для получения информации об объекте и о том, что он хранит. Например, администратор Linux может храниться в ветви дерева под названием «ИТ-отдел», которая находится в ветви под названием «Операции». Таким образом, можно найти весь технический персонал, выполнив поиск в разделе «ИТ-отдел». OpenLDAP — основная программа, используемая в инфраструктуре Linux.
Последний элемент сетевой инфраструктуры, который мы здесь обсудим, называется протоколом динамической конфигурации хоста (DHCP) . Когда компьютер загружается, ему требуется IP-адрес для локальной сети, чтобы его можно было однозначно идентифицировать. Работа DHCP заключается в том, чтобы прослушивать запросы и назначать свободный адрес из пула DHCP. Консорциум интернет-систем (известный до января 2004 года как Консорциум программного обеспечения для Интернета) также поддерживает DHCP-сервер ISC , который является наиболее распространенным DHCP-сервером с открытым исходным кодом.
Last updated