Читаем Linux: Полное руководство полностью

Процессы уровня ядра позволяют существенно повысить производительность веб-сервера, то есть скорость обработки HTTP-запросов. Начиная с версии ядра 2.4, в состав ядра входит веб-сервер kHTTPd. Скорость его работы значительно выше скорости веб-сервера Apache, который выполняется как пользовательский процесс.

16.14.1. Настройка kHTTPd

Так как kHTTPd является процессом уровня ядра, его настройка выполняется путем записи информации в файлы, хранящиеся в каталоге /proc/sys/net/khttpd.

Сначала нужно перекомпилировать ядро (этому процессу посвящена отдельная глава), включив в его состав kHTTPd. Для этого включите опцию Kernel HTTPd Acceleration в меню Network Options.

После этого нужно настроить веб-сервер Apache для работы по порту 8080 (директива Port в файле httpd.conf) и перезапустить его:

# service httpd restart

Загрузите модуль ядра khttpd:

# insmod khttpd

Укажите серверу kHTTPd, что запросы клиентов нужно обрабатывать через порт 80, а те запросы, с которыми он не может справиться, передавать Apache:

# echo 80 > /proc/sys/net/khttpd/serverport

# echo 8080 > /proc/sys/net/clientport

Какие запросы не может обработать kHTTPd? Ему «не по зубам» запросы, предполагающие запуск сценария. Все такие запросы будут перенаправлены Apache. Поэтому, если ваш веб-сервер предполагает в основном запуск CGI-сценариев (в том числе и PHP-сценариев), использовать kHTTPd нецелесообразно. Вместо повышения производительности вы добьетесь обратного.

Сообщите серверу kHTTPd, где нужно искать веб-страницы (в том же каталоге, который указан в директиве DocumentRoot сервера Apache):

# echo /var/www/html > /proc/sys/net/khttpd/documentroot

Если на вашем сервере установлен PHP, укажите каталог, в котором хранятся PHP-сценарии:

# echo /var/www/html/scripts > /proc/sys/net/khttpd/dynamic

Для запуска kHTTPd введите следующую команду:

# echo 1 > /proc/sys/net/khttpd/start

Всю эту работу можно автоматизировать, написав сценарий khttpd-start (листинг 16.16):

Листинг 12.16. Сценарий автоматического запуска kHTTPd

#!/bin/bash

# Загружаем модуль kHTTPd insmod khttpd

# Указываем порт kHTTPd

echo 80 > /proc/sys/net/khttpd/serverport

# Указываем порт Apache

echo 8080 > /proc/sys/net/clientport

# Корневой каталог веб-сервера и каталог

# для хранения сценариев

echo /var/www/html > /proc/sys/net/khttpd/documentroot

echo /var/www/html/scripts > /proc/sys/net/khttpd/dynamic

# Запускаем kHTTPd

echo 1 > /proc/sys/net/khttpd/start

Так как kHTTPd — это процесс уровня ядра, к тому же экспериментальный, его использование может отрицательно повлиять на надежность работы системы. Помните, что сервер kHTTPd не может обеспечить такой же уровень надежности, как Apache. kHTTPd следует применять только в том случае, если Apache не справляется с нагрузкой и на веб-сервере не часто запускаются CGI-сценарии.

Глава 17

Установка и настройка MySQL. Связка Apache + PHP + MySQL

Ни один серьезный интернет-проект нельзя построить без использования баз данных. Большинство провайдеров предоставляет хостинг вместе с одним из серверов баз данных. Самым популярным из таких серверов считается MySQL, получивший широкое распространение благодаря своей простоте. Здесь я не буду ни рассматривать технические характеристики MySQL, ни сравнивать его с другими серверами баз данных (InterBase Server, IBM DB/2, Oracle) — достаточно сказать, что InterBase Server или Oracle более масштабируемы и поэтому лучше подходят для организации распределенной системы обработки информации, но для обычного интернет-проекта MySQL подходит практически идеально. В этой главе я опишу его установку, настройку и использование.

17.1. Установка MySQL

Прежде всего нужно установить пакеты, необходимые для работы MySQL. У меня MySQL версии 4.0.15, поэтому я установил такие пакеты (номера версий у вас, возможно, будут другими, и я их обозначил символами «x»):

♦ MySQL_GPL-4.x.x

♦ MySQL_GPL-client-4.x.x

♦ MySQL_GPL-shared-libs-4.x

♦ MySQL_GPL-bench-4.x.x

♦ MySQL_GPL-resolveip-4.x.x

Перейти на страницу:

Все книги серии Полное руководство

Похожие книги

Полное руководство по Microsoft Windows XP
Полное руководство по Microsoft Windows XP

В книге известного американского автора описывается среда ОС Windows XP и принципы ее функционирования, приведен сравнительный анализ Windows XP с предшествующими версиями операционной системы Windows. Рассматриваются вопросы применения и модификации нового интерфейса с целью получения прямого доступа ко всем функциям Windows XP обсуждаются варианты подключения к компьютерным сетям. Несколько разделов посвящены работе с реестром и конфигурационными файлами, мультимедийным функциям и разнообразным системным службам, а также методам решения проблем с программным обеспечением и оборудованием. Особое внимание уделено обеспечению безопасности операционной системы.Издание адресовано пользователям и сетевым администраторам, желающим активно применять возможности операционной системы Windows XP (в том числе и недокументированные).

Питер Нортон , Джон Поль Мюллер

ОС и Сети, интернет / ОС и Сети / Книги по IT
Linux
Linux

Книга посвящена операционной системе Linux. Приводятся подробные сведения о ее особенностях и возможностях, идеологии файловой системы, инсталляции и основных командах, вопросах компиляции ядра, настройках и сервисах. Большое внимание уделяется организации на базе Linux различных серверов и служб: электронной почты, WWW, FTP, INN, Proxy, NTP, а также проблемам администрирования сети, обеспечения безопасной работы и другим вопросам. Описаны способы настройки под Linux рабочих станций, в т. ч. и бездисковых, установки и эксплуатации на них графических сред типа X Window, а также конфигурирование модемных соединений, принтеров и сканеров, отладка взаимодействия с Linux-машинами такой «экзотической» периферии, как карманные компьютеры, мобильные телефоны, TV-тюнеры и т. п. Рассматриваемые в книге конфигурационные файлы и структура каталогов соответствуют дистрибутиву Red Hat Linux 7.x, тем не менее, при минимальной адаптации все упоминаемые в книге пакеты устанавливаются в любом дистрибутиве Linux.Для начинающих администраторов или пользователей Linux.

Алексей Александрович Стахнов

ОС и Сети, интернет