Як правильно увімкнути журнал помилок у lighttpd?


12

У мене система Centos 5 із включеними Lighttpd та fastcgi. Він робить доступ до журналу, але не реєструє помилок. У мене внутрішня помилка сервера 500 і немає інформації в журналі, і коли я намагаюся відкрити неіснуючий файл також - немає інформації в журналі помилок. Як це правильно увімкнути?

Нижче перелік модулів, які я включив:

server.modules              = (
                               "mod_rewrite",
                               "mod_redirect",
                               "mod_alias",
#                                "mod_access",
#                               "mod_cml",
#                               "mod_trigger_b4_dl",
#                               "mod_auth",
                               "mod_status",
                               "mod_setenv",
                               "mod_fastcgi",
#                               "mod_webdav",
#                               "mod_proxy_core",
#                               "mod_proxy_backend_fastcgi",
#                               "mod_proxy_backend_scgi",
#                               "mod_proxy_backend_ajp13",
#                               "mod_simple_vhost",
#                               "mod_evhost",
#                               "mod_userdir",
#                               "mod_cgi",
#                               "mod_compress",
#                               "mod_ssi",
#                               "mod_usertrack",
#                               "mod_expire",
#                               "mod_secdownload",
#                               "mod_rrdtool",
                                "mod_accesslog" )

Ось налаштування налагодження:

## enable debugging
#debug.log-request-header     = "enable"
#debug.log-response-header    = "enable"
#debug.log-request-handling   = "enable"
debug.log-file-not-found     = "enable"
#debug.log-condition-handling = "enable"

Встановлення шляху до помилки та журналу доступу:

## where to send error-messages to
server.errorlog             = "/home/lxadmin/httpd/lighttpd/error.log"

#### accesslog module
accesslog.filename          = "/home/lxadmin/httpd/lighttpd/ligh.log"

Налаштування fastcgi:

fastcgi.debug = 1

fastcgi.server = ( ".php" => ((
                     "bin-path" => "/usr/bin/php-cgi",
                     "socket" => "/tmp/php.socket",
                     "max-procs" => 12,
                     "bin-environment" => (
                         "PHP_FCGI_CHILDREN" => "2",
                         "PHP_FCGI_MAX_REQUESTS" => "500"
                         )
                 )))

І в включеному конфігураційному файлі у мене є:

server.errorlog    =  "/home/httpd/mywebsite.com/stats/mywebsite.com-error_log"

Що стосується файлів журналу:

/home/httpd/mywebsite.com/stats/
-rw-r--r-- 1 apache apache 5173239 May 16 11:34 mywebsite.com-custom_log
-rwxrwxrwx 1 root   root         0 Mar 27  2009 mywebsite.com-error_log

/home/lxadmin/httpd/lighttpd/
-rwxrwxrwx  1 apache apache    2184 Apr 22 22:59 error.log
-rwxrwxrwx  1 apache apache 6088621 May 16 11:26 ligh.log

Я подав журнали помилок chmod 777, щоб спробувати перевірити, чи це проблема, але, мабуть, це не так.

Отже, моє запитання: що робити, щоб увімкнути журнал помилок?

Відповіді:


8

На відміну від Apache та nginx, ви не можете використовувати для віртуальних файлів журналу хост повідомлення для помилок у lighttpd. server.errorlogзмінна є глобальною в lighttpd, див. Запит на функцію №665 для отримання детальної інформації.


7

Схоже, ваш файл помилок добре налаштований.

Ви спробували встановити ваш lighttpd-процес, щоб перевірити, чи відкрився він у системі error_log?

lsof -p `pidof lighttpd`

З іншого боку, спробуйте прокласти той самий процес, примушуючи виникнути внутрішню помилку:

strace -o strace.out -p `pidof lighttpd` 

Погляньте на strace.out. Це може бути корисно не лише з’ясувати, чому не записується файл error_log, але і налагодити саму проблему помилок внутрішнього сервера.

Застосовуйте той самий «рецепт» до процесів швидкого вжитку. Я гадаю, що це пов’язано з відмовою між з'єднаннями lighttpd та fastcgi.

Сподіваюсь, це допомагає.


Дякую, я спробую lsof, і щоб зробити напругу, я все ще чекаю виникнення помилки.
Томаш Смиковський

Я спробував lsof в одному з багатьох процесів apache, який у мене в моїй системі, і він не має відкритого журналу помилок. Але зараз у мене ще немає такої ситуації з помилками.
Томаш Смиковський
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.