<Предыдущая | Содержание: | Следующая>
Система Linux - отличная платформа для предоставления сетевых услуг. В этом разделе мы постараемся дать обзор наиболее распространенных сетевых серверов и приложений.
10.3.1. Типы серверов
10.3.1.1. Автономный сервер
К предложению услуги пользователям можно подойти двумя способами. Демон или служба могут работать в автономном режиме или могут зависеть от активации другой службы.
Сетевые службы, которые активно и / или постоянно используются, обычно работают в автономном режиме: они являются независимыми программными демонами, которые всегда работают. Скорее всего, они запускаются во время загрузки системы и ждут запросов к определенным точкам подключения или портам, для которых они настроены для прослушивания. Когда приходит запрос, он обрабатывается, и прослушивание продолжается до следующего запроса. Типичный пример - веб-сервер: вы хотите, чтобы он был доступен 24 часа в сутки, а если он слишком загружен, он должен создать больше экземпляров прослушивания для одновременного обслуживания пользователей. Другими примерами являются большие архивы программного обеспечения, такие как Sourceforge или ваше зеркало Tucows, которые должны обрабатывать тысячи FTP-запросов в день.
Примером автономной сетевой службы на вашем домашнем компьютере может быть названный (name daemon), кэширующий сервер имен. У автономных сервисов работают свои собственные процессы, вы можете проверить в любое время, используя ps:
боб: ~> ps auxw | grep по имени
названный 908 0.0 1.0 14876 5108? S Mar14 0:07 named -u named
боб: ~> ps auxw | grep по имени
названный 908 0.0 1.0 14876 5108? S Mar14 0:07 named -u named
Однако есть некоторые службы, которые вы можете использовать на своем ПК, даже если для этих служб не запущен серверный процесс. Примерами могут быть служба FTP, служба безопасного копирования или служба finger. У этих сервисов есть Internet Daemon (Inetd) слушайте на своем месте.
10.3.1.2. (x) inetd
На домашнем ПК обычно немного спокойнее. Например, у вас может быть небольшая сеть, и вам, возможно, придется время от времени передавать файлы с одного ПК на другой, используя FTP или Samba (для связи с машинами MS Windows). В таких случаях запуск всех служб, которые вам нужны только время от времени, и их постоянная работа будет пустой тратой ресурсов. Таким образом, в небольших установках вы найдете необходимых демонов, зависящих от центральной программы, которые прослушивают все порты служб, за которые она отвечает.
Этот супер-сервер, демон интернет-сервисов, запускается во время инициализации системы. Есть две распространенные реализации: Inetd и Xinetd (расширенный демон интернет-сервисов). То или другое обычно работает в каждой системе Linux:
боб: ~> пс-эф | grep инет
корень 926 1 0 14 марта? 00:00:00 xinetd-ipv6 -stayalive -reuse \
-pidfile /var/run/xinetd.pid
боб: ~> пс-эф | grep инет
корень 926 1 0 14 марта? 00:00:00 xinetd-ipv6 -stayalive -reuse \
-pidfile /var/run/xinetd.pid
Сервисы, за которые отвечает Интернет-демон, перечислены в его файле конфигурации,
/etc/inetd.conf, для Inetd, а в каталоге /etc/xinetd.d для Xinetd. Обычно управляемые службы включают службы общего доступа к файлам и печати, SSH, FTP, telnet, демон конфигурации Samba, службы разговора и времени.
Как только будет получен запрос на подключение, центральный сервер запустит экземпляр необходимого сервера. Таким образом, в примере ниже, когда пользователь зерно запускает сеанс FTP с локальным хостом, демон FTP работает, пока сеанс активен:
боб: ~> ps вспомогательный | греп фтп
bob 793 0.1 0.2 3960 1076 очков / 6 с 16:44 0:00 ncftp localhost
ftp 794 0.7 0.5 5588 2608? SN 16:44 0:00 ftpd: