Jul 05 2012

EC2-Micro «Out of memory: kill process»

Category: Amazon Web Services,Apache,Server softwareingvar @ 12:00

Вот такое забавное сообщение «Out of memory: kill process» довелось наблюдать на EC2 Micro Instance Amazon. В какие-то моменты инстанс начал умирать, по логам удалось увидеть информацию:

kernel: [151388.450555] Free swap  = 0kB
kernel: [151388.450557] Total swap = 1212964kB
...
kernel: [151388.453545] Out of memory: kill process 22450 (apache2) score 111071 or a child
kernel: [151388.453561] Killed process 2182 (apache2) vsz:318016kB, anon-rss:352kB, file-rss:0kB

Читать дальше


Jun 12 2011

FreeBSD: Fatal error: Unknown: apc_fcntl_unlock failed: in Unknown on line 0

Category: PHP,Server softwareingvar @ 09:53

После одного из обновлений пакета apc для PHP сайты перестали работать, а в логах можно было наблюдать следующую картину:

[Fri May 27 14:24:21 2011] [error] [client 109.254.68.55] PHP Fatal error:  Unknown: apc_fcntl_unlock failed: in Unknown on line 0

Чтобы решить проблему нужно пересобрать APC с опцией SEMAPHORES:

# cd /usr/ports/www/pecl-APC
# make config

отмечаем нужную опцию и пересобираем pecl-APC. Если нужно, то удаляем его предварительно:

# make deinstall clean

и устанавливаем заново

# make install clean

Не забываем перезапустить Apache. После этого все должно заработать.


Jul 19 2008

Директива Apache RewriteLog для логирования mod_rewrite

Category: ApacheIgor @ 11:14

У Апача есть интересная директива для отладки модуля mod_rewrite.

Документация: http://httpd.apache.org/docs/2.2/mod/mod_rewrite.html#rewritelog

Описание: Устанавливает имя файла используемое для ведения журнала механизма преобразования
Синтаксис: RewriteLog file-path
Контекст: server config, virtual host
Статус: Расширение
Модуль: mod_rewrite

Директива RewriteLog устанавливает имя файла в котором сервер ведет журнал любых происходящих действий по преобразованиям URL. Если это имя не начинается со слэша (‘/’) в этом случае путь считается от Server Root. В конфигурационном файле сервера эта директива должна встречаться только один раз.

RewriteLog "logs/dummy-host.somenet-rewrite.log"

Для отключения ведения журнала преобразований не рекомендуется устанавливать Filename в /dev/null, потому что хотя механизм преобразований и не производит вывод в файл журнала в этом случае, внутри он все ещё ведет журнализацию. Это замедлит сервер без каких-либо преимуществ для администратора! Для отключения ведения журнала либо удалите либо закомментируйте директиву RewriteLog либо используйте RewriteLogLevel 0, диапазон значений от 0 до 9 — записываются почти все действия модуля.

Пример:

<VirtualHost *:80>
ServerAdmin webmaster@dummy-host.somenet
DocumentRoot "D:/usr/apache2/docs/dummy-host.somenet"
ServerName dummy-host.somenet
ServerAlias www.dummy-host.somenet
ErrorLog "logs/dummy-host.somenet-error.log"
CustomLog "logs/dummy-host.somenet-access.log" common
RewriteLog "logs/dummy-host.somenet-rewrite.log"
RewriteLogLevel 3
</VirtualHost>