Linux: Полное руководство
Шрифт:
♦ MaxRequestsPerChild. После обработки определенного количества запросов, указанного в этой директиве, копия сервера завершается, а вместо нее запускается новая.
16.3.5. Директивы создания виртуальных узлов
Довольно часто пользователь не может позволить себе такую роскошь, как собственный физический веб-сервер, то есть отдельный компьютер, постоянно подключенный к Интернет, на котором запущен сервер Apache. Поэтому современные веб-серверы поддерживают виртуальные узлы. У вас будет собственное имя, например, www.firma.ru, но в действительности ваши файлы будут помешены
Благодаря технологии виртуальных узлов один сервер хостинг-провайдера обслуживает сотни или даже тысячи сайтов.
На своем домашнем веб-сервере вы также можете создать один или несколько виртуальных узлов, если, конечно, вам это нужно.
Listen — эта директива позволяет вам связывать Apache с определенным IP-адресом и/или дополнительными портами.
BindAddress — эта директива сообщает серверу, какой IP-адрес следует прослушивать. Значением данной директивы может быть «*» (любой адрес), IP-адрес или полное имя домена.
Блок директив VirtualHost будет рассмотрен позднее, при описании создания и использования виртуальных узлов.
16.3.6. Директивы настройки отображения каталогов
Эти директивы позволяют «украсить» ваш веб-сервер, например, сопоставить значок типу файла или определить оформление каталога.
♦ DirectoryIndex — позволяет задать название документа, который будет возвращен по запросу, не содержащему имени документа. Например, если вы введете в строке адреса броузера http://localhost, то будет возвращен один из указанных в директиве DirectoryIndex документов. С помощью данной директивы можно задать несколько имен файлов. Значениями по умолчанию являются index.html index.php index.htm index.shtml index.cgi Default.htm default.htm index.php.
♦ FancyIndexing. При получении запроса, не содержащего имя документа, сервер передаст один из файлов, указанных в директиве DirectoryIndex. Если такой файл не существует, клиенту будет возвращено оглавление каталога. При включении директивы FancyIndexing в оглавлении каталога будут использованы значки и описания файлов. Если директива FancyIndexing выключена, оглавление будет представлено в более простом виде.
♦ AddIconByType (TEXT, URL) mime-type — сопоставляет значок типу файла. Значок будет использоваться при выводе каталога, если включена директива FancyIndexing. Параметр TEXT определяет текстовое описание типа, которое увидят пользователи, использующие текстовый браузер или пользователи, у которых отключено отображение рисунков. Параметр URL определяет адрес значка, а параметр mime-type — это тип файла, с которым нужно сопоставить значок. Полный перечень MIME-типов приведен в файле
Листинг 16.1. Фрагмент файла httpd.conf
Первая директива в листинге сопоставляет типу video значок /icons/movie.gif. Вторая директива сопоставляет бинарным файлам *.bin и *.exe значок /icons/binary.gif. Значок
16.3.7. Директивы обработки MIME-типов
Как вы помните, в Windows существует такое понятие, как расширение (или тип) файла. По расширению можно связать какую-либо программу с определенным типом файла. Например, когда вы щелкаете на файле с расширением .txt, запускается Блокнот, а при щелчке на файле .doc будет запущен Word. Точно такой же механизм реализован в Apache. Вы можете сопоставить типу файла программу-обработчик этого типа. Когда не был разработан модуль mod_php, программа php объявлялась обработчиком файла с расширением .php. Сервер запускал php, передавал ему файл, а потом возвращал пользователю результат.
♦ DefauttType. Если запрашиваемый клиентом тип не соответствует ни одному из MIME-типов, используется MIME-тип, указанный в директиве DefaultType.
♦ AddEncoding. Для сокращения времени передачи файла клиентам используется сжатие данных. Браузеры имеют встроенные программы для распаковки, запускаемые при получении архивов определенных MIME-типов. Именно эти MIME-типы и указываются в директиве AddEncoding.
♦ AddType — с помощью этой директивы можно добавить новый MIME-тип, который не указан в файле
♦ AddHandler и Action. Директива AddHandler позволяет сопоставить определенному MIME-типу какой-нибудь обработчик. А с помощью директивы Action можно определить какое-нибудь действие для обработчика. Использование этих директив, я думаю, лучше всего продемонстрировать на примере (листинг 16.2).
Листинг 16.2. Применение директив AddHandler и Action
16.3.8. Директивы для работы с многоязычными документами
Если ваш сайт имеет несколько языковых версий — например, русскую и английскую, — целесообразно настроить директивы управления языком. Тогда пользователю не нужно будет щелкать по ссылкам «In English/Ha Русском» — сервер, исходя из настроек браузера, сам определит, какой язык предпочитает пользователь, и отобразит нужную страницу.
♦ AddLanguage. В большинстве браузеров можно задать предпочитаемый язык. Директива AddLanguage сопоставляет расширение файла аббревиатуре языка. Для русского языка используется аббревиатура ru, для английского — en. При этом в корневом каталоге вашего сервера могут находиться несколько индексных файлов на разных языках. Например, для русского языка нужно использовать имя файла index.html.ru, а для английского — index.html.en.
♦ LanguagePriority. Если на вашем сервере размещены документы на разных языках, то с помощью директивы LanguagePriority можно указать приоритеты различных языков. Клиент вводит в адресной строкеЕсли в свойствах браузера имеется возможность задать предпочитаемый язык, то возвращен будет файл на нужном языке, если такой существует. Если же браузер клиента не поддерживает эту возможность, будет возвращен файл на языке, имеющем наиболее высокий приоритет. Для того, чтобы сервер поддерживал нужный вам язык, предварительно установите правильное значение директивы AddLanguage.