web-dev-qa-db-ja.com

FCGIアプリのFreeBSDnginxコアダンプファイルはどこにありますか?

FreeBSDのnginxでFCGIスポーンアプリを実行しています。バグがあり、クラッシュの.coreファイルを分析したいと思います。しかし、私はそれがどこで生成されたのか見当がつかない。誰か知っている?

1
Zaibis

私は自分で問題を解決する方法を考え出しました。

なぜこれが必要なのかわかりませんが、バイナリファイルの所有者をrootからspawn-fcgiであるユーザーに変更する必要がありました。そして今、それはコアファイルを生成します。

0
Zaibis

まず、nginxを--with-debugconfigureオプションでコンパイルする必要があります。 freebsdポートを使用している場合は、次のようなものを追加します。

CONFIGURE_ARGS+= --with-debug

NginxのportsディレクトリのMakefileへ。

次に、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:ですが、これを制限することもできます)。 /etc/master.passwdで明示的に指定されていない限り、nginxユーザーは「デフォルト」のログインクラスで実行されます。

3
quadruplebucky