<Попередній | зміст | Наступна>
Система Linux є чудовою платформою для надання мережевих послуг. У цьому розділі ми спробуємо дати огляд найбільш поширених мережевих серверів і програм.
10.3.1. Типи серверів
10.3.1.1. Автономний сервер
Пропонувати послуги користувачам можна двома способами. Демон або служба можуть працювати в автономному режимі або залежати від активації іншої служби.
Мережеві служби, які використовуються інтенсивно та/або постійно, зазвичай працюють в автономному режимі: вони є незалежними програмними демонами, які завжди працюють. Вони, швидше за все, запускаються під час завантаження системи, і вони чекають запитів на певні точки підключення або порти, для яких вони налаштовані для прослуховування. Коли надходить запит, він обробляється, і прослуховування триває до наступного запиту. Типовим прикладом є веб-сервер: ви хочете, щоб він був доступний 24 години на добу, а якщо він занадто зайнятий, він повинен створити більше примірників для прослуховування для одночасного обслуговування користувачів. Іншими прикладами є великі архіви програмного забезпечення, такі як Sourceforge або ваше дзеркало Tucows, які повинні обробляти тисячі FTP-запитів на день.
Прикладом автономної мережевої служби на вашому домашньому комп’ютері може бути названий (demon name), кешуючий сервер імен. Автономні служби мають свої власні процеси, які ви можете перевірити в будь-який час за допомогою ps:
Боб:~> ps auxw | grep ім
названий 908 0.0 1.0 14876 5108 ? S Бер14 0:07 названий -у ім
Боб:~> ps auxw | grep ім
названий 908 0.0 1.0 14876 5108 ? S Бер14 0:07 названий -у ім
Однак є деякі служби, які ви можете використовувати на своєму ПК, навіть якщо для цих служб не запущено серверний процес. Прикладами можуть бути служба FTP, служба безпечного копіювання або служба пальців. Ці служби мають Інтернет-демон (inetd) слухають на своєму місці.
10.3.1.2. (x)inetd
На вашому домашньому комп’ютері зазвичай все трохи спокійніше. Наприклад, у вас може бути невелика мережа, і вам, можливо, доведеться час від часу передавати файли з одного ПК на інший за допомогою FTP або Samba (для підключення до комп’ютерів MS Windows). У цих випадках запускати всі служби, які вам потрібні лише зрідка, і постійно працювати з ними, було б марною тратою ресурсів. Таким чином, у менших установках ви знайдете необхідні демони, залежні від центральної програми, які слухають усі порти служб, за які вона відповідає.
Цей суперсервер, демон послуг Інтернету, запускається під час ініціалізації системи. Є дві поширені реалізації: inetd та xinetd (демон розширеного Інтернету). Один або інший зазвичай працює на кожній системі Linux:
Боб:~> ps -ef | grep inet
корінь 926 1 0 Бер14 ? 00:00:00 xinetd-ipv6 -stayalive -повторне використання
-pidfile /var/run/xinetd.pid
Боб:~> ps -ef | grep inet
корінь 926 1 0 Бер14 ? 00:00:00 xinetd-ipv6 -stayalive -повторне використання
-pidfile /var/run/xinetd.pid
Служби, за які відповідає Інтернет-демон, перераховані в його конфігураційному файлі,
/etc/inetd.conf, Для inetd, і в каталозі /etc/xinetd.d та цінності xinetd. Зазвичай керовані служби включають послуги спільного доступу до файлів і друку, SSH, FTP, telnet, демон налаштування Samba, служби розмови та часу.
Як тільки буде отримано запит на підключення, центральний сервер запустить екземпляр необхідного сервера. Таким чином, у прикладі нижче, коли користувач боб запускає сеанс FTP на локальному хості, демон FTP працює, поки сеанс активний:
Боб:~> ps auxw | grep ftp
bob 793 0.1 0.2 3960 1076 pts/6 S 16:44 0:00 ncftp localhost
ftp 794 0.7 0.5 5588 2608 ? SN 16:44 0:00 ftpd: