Назад | Перейти на главную страницу

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

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

Во-первых, ваш nginx должен быть скомпилирован с параметром конфигурации --with-debug. Если вы используете порты 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 работает (обычно a: coredumpsize = unlimited :, хотя вы можете захотеть ограничить это). Пользователь nginx будет работать с классом входа по умолчанию, если он явно не указан в /etc/master.passwd

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

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