Где найти файл 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