Способ запуска | Преимущества | Недостатки |
---|---|---|
Сценарии запуска SysV | Сервер может запускаться на различных уровнях выполнения. Сервер обрабатывает запросы без задержки. Настройка осуществляется посредством переименования файлов. Сценарии предоставляют удобные средства для запуска и остановки серверов вручную | Серверы занимают большой объем оперативной памяти. Контроль доступа из-за пределов локальной сети затруднен |
Суперсервер | За счет выгрузки редко используемых серверов экономится память. Администратор имеет возможность управлять доступом извне | Большое время отклика сервера. Некоторые серверы ненадежно работают в подобной среде. Для сохранения данных между последовательными запросами приходится принимать дополнительные меры |
Локальные сценарии запуска | Быстрый отклик сервера. Если сценарии SysV для сервера отсутствуют, он может быть без труда запущен с помощью локальных сценариев | Плохая интеграция с инструментальными средствами настройки (chkconfig , ksysv и т.д.). Сценарии запуска различаются в разных версиях системы |
Как правило, большинство серверов в системе Linux (а также программ, реализующих службы, не связанные с взаимодействием по сети) запускаются посредством сценариев SysV. Обращения к некоторым серверам производятся настолько часто, что задержка, связанная с загрузкой сервера с помощью суперсервера, становится недопустимой. С точки зрения составителя дистрибутивного пакета сценарии SysV предпочтительнее локальных сценариев запуска, поскольку при использовании такого подхода можно легко добавлять новые или удалять существующие сценарии. Кроме того, считается, что некоторые серверы, например Samba, не обеспечивают достаточной надежности, будучи загруженными с помощью суперсервера. Иногда бывает необходимо, чтобы сервер сохранял информацию о запросе, например, nmbd
должен запоминать имена и адреса компьютеров в сети. Такой сервер нельзя загружать посредством суперсервера, так как после удаления кода программы из памяти эта информация теряется.
Помимо сценариев SysV, суперсерверы также находят широкое применение. Во многих пакетах суперсерверы используются для запуска серверов, время загрузки которых невелико (например, серверов Telnet и FTP). В некоторых случаях такой подход можно использовать и для запуска серверов с большим объемом кода, например Apache, но загрузка Apache посредством суперсервера оправдана, только если обращение к этому серверу выполняется очень редко. Некоторые системы, например Debian, позволяют при установке сервера выбирать, должен ли он запускаться с помощью сценариев SysV или суперсервера. Если же возможность выбора отсутствует, вы можете по окончании инсталляции удалить сценарий SysV данного сервера и включить запись о нем в конфигурационный файл суперсервера.
В большинстве случаев имеет смысл использовать тот суперсервер, который поставляется в составе дистрибутивного пакета Linux (inetd
или xinetd
). Если вам необходимы возможности, предоставляемые только xinetd
, а в вашей системе по умолчанию используется inetd
, вам придется заменить inetd
на новый суперсервер. Для этого надо модифицировать сценарий SysV либо запускать новый суперсервер с помощью локального сценария запуска. Сделав это, вы должны настроить суперсервер так, как это было описано в данной главе.
Локальные сценарии запуска лучше всего подходят, если сервер первоначально был установлен для загрузки посредством сценария SysV, но оказалось, что сценарий работает некорректно. У неопытных администраторов подобная ситуация встречается тогда, когда они пытаются инсталлировать сервер, предназначенный для другой системы. В этом случае можно самостоятельно написать сценарий SysV, но если у администратора слишком мало времени или если он не имеет опыта решения подобных задач, он может воспользоваться возможностями локального сценария запуска.
Сервер можно запустить и вручную; для этого достаточно ввести в командной строке его имя. Очевидно, что такой способ применим только для проверки работы программы. После окончания отладки придется выбрать способ автоматического запуска сервера.
Резюме
Для того чтобы использовать компьютер под управлением Linux как сервер, надо знать способы запуска серверных программ. Существуют три способа запуска серверов в системе Linux: использование сценариев SysV, запуск под управлением суперсервера и применение локальных сценариев запуска. Детали запуска серверов различаются в зависимости от версии Linux, поэтому, организуя работу серверов, необходимо подробно изучить документацию на вашу операционную систему. Особенно важно знать о расположении и последовательных номерах сценариев запуска SysV, а также о том, какой суперсервер используется в системе: inetd
или xinetd
. Зная методы запуска серверов, вы сможете заниматься установкой как широко распространенных, так и редко встречающихся специализированных серверов, а также других сетевых средств.
ЧАСТЬ II
Серверы в локальных сетях
Глава 5
Распределение IP-адресов с помощью DHCP
В главе 2 рассматривались различные способы настройки компьютера для работы в сетях TCP/IP. Один из этих способов предполагал использование сервера DHCP (Dynamic Host Configuration Protocol — протокол динамической настройки узла). Чтобы определить расположение сервера DHCP, компьютер передает широковещательный запрос. В ответ сервер DHCP возвращает компьютеру его IP-адрес и другие сведения, необходимые для настройки. Такое взаимодействие существенно упрощает настройку