Linux: Полное руководство
Шрифт:
Или же просто создать в нужном каталоге ссылку на самого себя:
Несмотря на свою простоту, этот способ имеет множество недостатков. Если у вас небольшой сервер, вы можете использовать перекодировку по каталогу. В другом случае лучше используйте перекодировку по имени сервера или по порту.
При использовании перекодировки по имени сервера следует обратить внимание на то, чтобы указанный вами сервер был прописан на сервере DNS. После регистрации поддомена (в
Если сервер DNS администрируете не вы и возможности прописать новый поддомен у вас нет, то используйте перекодировку по порту. Для этого закомментируйте директиву Port в файле
Номера портов при этом не очень важны. Правда, есть одна неприятность: если сеть клиента защищена брандмауэром, не позволяющим обращаться к выбранному вами порту, клиент не сможет установить соединение с вашим сервером.
Схема (порядок) выбора кодировки определяется директивой CharsetSelectionOrder:
♦ CharsetSelectionOrder Dirprefix Useragent Portnumber Hostname UriHostname — для выбора по каталогу;
♦ CharsetSelectionOrder Hostname UriHostname Useragent Portnumber Dirprefix — для выбора по имени домена;
♦ CharsetSelectionOrder Portnumber Useragent Hostname UriHostname Dirprefix — для выбора по порту.
16.13. Защита сервера Apache
По окончании настройки сервера запретим изменение и удаление файла конфигурации:
После этого вы (и никто другой) не сможете изменить этот файл даже с помощью конфигуратора.
Желательно также установить права 511 для исполняемого файла сервера httpd:
Далее, не нужно, чтобы посторонние глаза смогли посмотреть, а руки — изменить (и выполнить) файлы, находящиеся в каталогах
16.14.
В операционной системе все процессы можно разделить на два типа: процессы уровня ядра и пользовательские процессы. Процесс уровня ядра запускается и работает очень быстро по сравнению с относительно неповоротливым пользовательским процессом. Однако пользовательские процессы безопаснее для здоровья системы, нежели процессы уровня ядра. Если произойдет ошибка в пользовательском процессе, то на работе системы это обстоятельство никак не отразится. А ошибка в процессе уровня ядра чревата «крахом» системы, который вам обойдется во много раз дороже, чем выигрыш на быстродействии процесса уровня ядра.
Процессы уровня ядра позволяют существенно повысить производительность веб-сервера, то есть скорость обработки HTTP-запросов. Начиная с версии ядра 2.4, в состав ядра входит веб-сервер kHTTPd. Скорость его работы значительно выше скорости веб-сервера Apache, который выполняется как пользовательский процесс.
16.14.1. Настройка kHTTPd
Так как kHTTPd является процессом уровня ядра, его настройка выполняется путем записи информации в файлы, хранящиеся в каталоге
Сначала нужно перекомпилировать ядро (этому процессу посвящена отдельная глава), включив в его состав kHTTPd. Для этого включите опцию Kernel HTTPd Acceleration в меню Network Options.
После этого нужно настроить веб-сервер Apache для работы по порту 8080 (директива Port в файле
Загрузите модуль ядра khttpd:
Укажите серверу kHTTPd, что запросы клиентов нужно обрабатывать через порт 80, а те запросы, с которыми он не может справиться, передавать Apache:
Какие запросы не может обработать kHTTPd? Ему «не по зубам» запросы, предполагающие запуск сценария. Все такие запросы будут перенаправлены Apache. Поэтому, если ваш веб-сервер предполагает в основном запуск CGI-сценариев (в том числе и PHP-сценариев), использовать kHTTPd нецелесообразно. Вместо повышения производительности вы добьетесь обратного.
Сообщите серверу kHTTPd, где нужно искать веб-страницы (в том же каталоге, который указан в директиве DocumentRoot сервера Apache):
Если на вашем сервере установлен PHP, укажите каталог, в котором хранятся PHP-сценарии:
Для запуска kHTTPd введите следующую команду: