Чтение онлайн

на главную - закладки

Жанры

Linux: Полное руководство

Аллен Питер В.

Шрифт:

Alias /koi /www/docs

Или же просто создать в нужном каталоге ссылку на самого себя:

# cd /www/docs

# ln -s . koi

Несмотря на свою простоту, этот способ имеет множество недостатков. Если у вас небольшой сервер, вы можете использовать перекодировку по каталогу. В другом случае лучше используйте перекодировку по имени сервера или по порту.

При использовании перекодировки по имени сервера следует обратить внимание на то, чтобы указанный вами сервер был прописан на сервере DNS. После регистрации поддомена (в

качестве имени которого нужно использовать один из псевдонимов кодировки, указанный с помощью директивы CharsetAlias, например, koi или win) внесите следующие строки в ваш файл
httpd.conf
:

# Естественно, укажите здесь свой IP-адрес

<VirtualHost 111.111.111.1>

 ServerName www.server.ru

 ServerAlias *.www.server.ru

 # далее следует обычная конфигурация

 # ...

</VirtualHost>

Если сервер DNS администрируете не вы и возможности прописать новый поддомен у вас нет, то используйте перекодировку по порту. Для этого закомментируйте директиву Port в файле

httpd.conf
и вместо нее добавьте следующие директивы:

Listen 80

Listen 8000

Listen 8001

Listen 8002

Listen 8003

CharsetByPort koi8-r 8000

CharsetByPort windows-1251 8001

CharsetByPort ibm866 8002

CharsetByPort iso-8859-5 8003

Номера портов при этом не очень важны. Правда, есть одна неприятность: если сеть клиента защищена брандмауэром, не позволяющим обращаться к выбранному вами порту, клиент не сможет установить соединение с вашим сервером.

Схема (порядок) выбора кодировки определяется директивой CharsetSelectionOrder:

♦ CharsetSelectionOrder Dirprefix Useragent Portnumber Hostname UriHostname — для выбора по каталогу;

♦ CharsetSelectionOrder Hostname UriHostname Useragent Portnumber Dirprefix — для выбора по имени домена;

♦ CharsetSelectionOrder Portnumber Useragent Hostname UriHostname Dirprefix — для выбора по порту.

16.13. Защита сервера Apache

По окончании настройки сервера запретим изменение и удаление файла конфигурации:

[root@webserver]# chattr +i /etc/httpd/conf/httpd.conf

После этого вы (и никто другой) не сможете изменить этот файл даже с помощью конфигуратора.

Желательно также установить права 511 для исполняемого файла сервера httpd:

# chmod 511 /usr/sbin/httpd

Далее, не нужно, чтобы посторонние глаза смогли посмотреть, а руки — изменить (и выполнить) файлы, находящиеся в каталогах

/etc/httpd/conf
и
/var/log/httpd
:

# chmod 700 /etc/httpd/conf/

# chmod 700 /var/log/httpd /

16.14.

Сервер kHTTPd — веб-сервер уровня ядра

В операционной системе все процессы можно разделить на два типа: процессы уровня ядра и пользовательские процессы. Процесс уровня ядра запускается и работает очень быстро по сравнению с относительно неповоротливым пользовательским процессом. Однако пользовательские процессы безопаснее для здоровья системы, нежели процессы уровня ядра. Если произойдет ошибка в пользовательском процессе, то на работе системы это обстоятельство никак не отразится. А ошибка в процессе уровня ядра чревата «крахом» системы, который вам обойдется во много раз дороже, чем выигрыш на быстродействии процесса уровня ядра.

Процессы уровня ядра позволяют существенно повысить производительность веб-сервера, то есть скорость обработки 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 введите следующую команду:

Поделиться:
Популярные книги

Курсант: назад в СССР

Дамиров Рафаэль
1. Курсант
Фантастика:
попаданцы
альтернативная история
7.33
рейтинг книги
Курсант: назад в СССР

Чужая семья генерала драконов

Лунёва Мария
6. Генералы драконов
Фантастика:
фэнтези
5.00
рейтинг книги
Чужая семья генерала драконов

Пышка и Герцог

Ордина Ирина
Фантастика:
юмористическое фэнтези
историческое фэнтези
фэнтези
5.00
рейтинг книги
Пышка и Герцог

Имперский Курьер. Том 5

Бо Вова
5. Запечатанный мир
Фантастика:
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Имперский Курьер. Том 5

Имя нам Легион. Том 7

Дорничев Дмитрий
7. Меж двух миров
Фантастика:
боевая фантастика
рпг
аниме
5.00
рейтинг книги
Имя нам Легион. Том 7

Возвышение Меркурия

Кронос Александр
1. Меркурий
Фантастика:
героическая фантастика
попаданцы
аниме
5.00
рейтинг книги
Возвышение Меркурия

Законы Рода. Том 11

Андрей Мельник
11. Граф Берестьев
Фантастика:
юмористическое фэнтези
аниме
фэнтези
5.00
рейтинг книги
Законы Рода. Том 11

Измена. (Не)любимая жена олигарха

Лаванда Марго
Любовные романы:
современные любовные романы
5.00
рейтинг книги
Измена. (Не)любимая жена олигарха

Вираж бытия

Ланцов Михаил Алексеевич
1. Фрунзе
Фантастика:
героическая фантастика
попаданцы
альтернативная история
6.86
рейтинг книги
Вираж бытия

Отмороженный 11.0

Гарцевич Евгений Александрович
11. Отмороженный
Фантастика:
боевая фантастика
рпг
попаданцы
фантастика: прочее
фэнтези
5.00
рейтинг книги
Отмороженный 11.0

История "не"мощной графини

Зимина Юлия
1. Истории неунывающих попаданок
Фантастика:
попаданцы
фэнтези
5.00
рейтинг книги
История немощной графини

Крестоносец

Ланцов Михаил Алексеевич
7. Помещик
Фантастика:
героическая фантастика
попаданцы
альтернативная история
5.00
рейтинг книги
Крестоносец

Газлайтер. Том 15

Володин Григорий Григорьевич
15. История Телепата
Фантастика:
боевая фантастика
попаданцы
5.00
рейтинг книги
Газлайтер. Том 15

Призыватель нулевого ранга

Дубов Дмитрий
1. Эпоха Гардара
Фантастика:
аниме
фэнтези
фантастика: прочее
5.00
рейтинг книги
Призыватель нулевого ранга