ПредишенСледващото

Apache уеб сървър не може само дисплей
Потребителите на страници, но и с всички
грижа рекордни данни за техния
активност и грешки. По подразбиране всички
информация за потребителски заявки са написани
в един дневник и грешки - в другата.
Разбира се, по смисъла на записите и техния статус
на сървъра, можете свободно да персонализирате
това, което ние ще направим днес.

Както казах в предговора на
подразбиране, сървърът пише дневник в два файла - / Var / дневник / уеб-/ access_log
error_log и в същата директория. Тази ситуация
работи е, разбира се, в httpd.conf
TransferLog параметри и ErrorLog. за него
Това е, както следва:

TransferLog / данни / Apache / дневници / gen_msg
ErrorLog / данни / Apache / дневници / ERROR_MSG

В допълнение към разделянето на лог файлове, ние
Ние можем да създадете отделен дневник за всеки
домейн, който не е завъртян на Apache.
Да приемем, че сървърът се обръща две
домейн и ние искаме това да се пише всеки домейн
влезте в директория. например:


ServerName www.company_a.com
DocumentRoot / данни / Apache / co_a / HTML
TransferLog / данни / Apache / co_a / дневници / gen_msg
ErrorLog / данни / Apache / co_a / дневници / ERROR_MSG



ServerName www.company_b.com
DocumentRoot / данни / Apache / co_b / HTML
TransferLog / данни / Apache / co_b / дневници / gen_msg
ErrorLog / данни / Apache / co_b / дневници / ERROR_MSG

Ясно е, че в този довереник е не само
документите ще бъдат разделени в зависимост от различни
каталози, но също така и трупи. Имайте предвид, че записите са извън DocumentRoot,
което е доста добър за
сигурност.

Има няколко нива с помощта на
, където можете да регулирате дълбочината на запис
Active Web-сървър. нива сеч са: Emerg,
нащрек, критичният, грешка, предупреди, забележка, информация
и отстраняване на грешки. Довършителни определено ниво
В края на директивата, ръководството на сеч,
можем да определим какво да пиша.
Например, аз искам да принуди Apache за записване
незабавно записване и само предупреждения
за един от домени. Контейнерът трябва да бъде
домейн да направите това:

Форматът, в който сървърът прави запис,
същият може да варира произволно. свършен
директива LogFormat все още е в една и съща htttpd.conf.
По подразбиране влизане изглежда така:

За да промените формата, е необходимо да го опиша
в LogFormat и след това да премине името на описанието на дневника.
Ако описанието е дадено на контейнера него,
Тя може да се използва за всякакви Вход
Този пример задава пътя, както и формата на дневник:

LogFormat «Дата:% т, Водещ:% час Потребител:% ф, File Заявени:% R» проста
...

...
CustomLog / данни / Apache / co_a / трупи / gen_msg прост
...

Друг пример - Предполагам, че аз искам
получите в дневника само да поиска с глава от
друг сайт, търсачката.

CustomLog search_eng_log «% аз»

Включване и изключване

На своя уебсайт, предпочитам искания
собствена работна станция да пишат
отделен дневник, той опростява отстраняване на грешки
скриптове и самия сървър. въведат
променлива и определя къде и какво
място:

SetEnvIf REMOTE_ADDR «12.127.17.72» my_stuff
CustomLog трупи / my_access комплекс ENV = my_stuff
CustomLog трупи / gen_msg прост Околна среда =! My_stuff

Всеки знае, че достойни трупи сървърни
Тя расте доста бързо. по подразбиране
те се почистват всяка седмица: access_log
копирани в access_log.1, access_log.1 в access_log.2 и така
и т.н. (разбира се в обратен ред).
Все пак, ако сте задали своя
трупи, тогава ще трябва да попитам и тяхното въртене. правя
Това може да бъде по няколко начина. е по-добре
просто напишете проста скрипт, за да Cron, което
след това редовно изпълнява:

#! / Bin / Баш
MV -f gen_msg.2 gen_msg.3
MV -f gen_msg.1 gen_msg.2
MV -f gen_msg gen_msg.1
apachectl грациозната

Покажете тази статия на приятел:

Свързани статии

Подкрепете проекта - споделете линка, благодаря!