Где найти файл coredump FreeBSD nginx приложения FCGI?

Я использую приложение spawn FCGI на nginx на FreeBSD. Это глючит, и я хотел бы проанализировать.core файл аварии. Но я понятия не имею, где он возник. Кто-нибудь знает?

2 ответа

Решение

Я понял, как решить проблему самостоятельно.

Я не знаю, почему это необходимо, но мне пришлось сменить владельца двоичного файла с root на пользователя, который запускает мое приложение с помощью spawn-fcgi. и теперь он генерирует файл ядра.

Во-первых, ваш nginx должен быть скомпилирован с параметром --with-debug configure. Если вы используете порты freebsd, вам нужно добавить что-то вроде

CONFIGURE_ARGS+= --with-debug

В Makefile в каталоге портов nginx.

Затем в nginx.conf

worker_rlimit_core  2048M;
working_directory   /path/to/cores/;

в nginx.conf

и в /etc/sysctl.conf

kern.coredump=1
kern.corefile=/path/to/cores

(или "systctl -w kern-.coredump=1; sysctl kern.corefile=/path/to/cores")

Также убедитесь, что /etc/login.conf имеет соответствующие разрешения для генерации ядер для пользователя, который запускает nginx (обычно это:coredumpsize=unlimited:, хотя вы можете захотеть ограничить это). Пользователь nginx будет работать под классом входа по умолчанию, если он явно не указан в /etc/master.passwd

Другие вопросы по тегам