Opensourcetechブログ

OpensourcetechによるNGINX/Kubernetes/Zabbix/Neo4j/Linuxなどオープンソース技術に関するブログです。

Nginx 1.7.10 における debugログの出力

こんにちは、鯨井貴博@opensourcetechです。

 

今回は、Nginxのコンパイルオプションにて「--with-debug」オプションを使用して、より詳細はログが取得出来るようにしようと思います。

 

ソフトウェアのインストールとしては、ソースパッケージからコンパイルを行います。

「--with-debug」オプションは、デフォルトでは含まれない為です。

基本的なインストール方法については、

ここなどを参照していただければいいかと思います。

 

ソースパッケージのダウンロード・解凍、必要ソフトウェアの事前インストールが出来たら、コンパイルを実施します。

./configure --with-debug

f:id:opensourcetech:20150225190341p:plain

f:id:opensourcetech:20150225190346p:plain

 

そして、make・make installの後にインストール確認を行います。

/usr/local/nginx/sbin/nginx -v

/usr/local/nginx/sbin/nginx -V

 これで、コンパイルオプションがきちんと含まれているか確認出来ます。

f:id:opensourcetech:20150225190355p:plain

 

そして、nginxの起動。

起動確認も併せて行います。

/usr/local/nginx/sbin/nginx

netstat -tan | grep 80

ps aux | grep nginx

必要に応じて、iptables -Fをするなどセキュリティ設定もお忘れなく。

f:id:opensourcetech:20150225190357p:plain

 

まずは、デフォルトのログ出力を確認します。

tail -f /usr/local/nginx/logs/error.log

わざと存在しないコンテンツファイル(test.html)にアクセスさせると、

以下のようなログが出力されます。

f:id:opensourcetech:20150225190400p:plain

 

では続いてdebugを使ったログ出力です。

設定ファイル(/usr/local/nginx/conf/nginx.conf)に以下の設定を行います。

error_log logs/error.log debug;

f:id:opensourcetech:20150225190403p:plain

 

その後、Nginxの再起動を行って再びログを見てみます。

/usr/local/nginx/sbin/nginx -s stop

/usr/local/nginx/sbin/nginx

tail -f /usr/local/nginx/logs/error.log

先程と同様に存在しないtest.htmlというコンテンツにアクセスすると、

以下のように大量のデバックログが出力されます。

よくみると、epollなどのシステムコールに関するものや、

HTTPヘッダーの情報など様々な情報を確認することが出来ます。

f:id:opensourcetech:20150225190407p:plain

f:id:opensourcetech:20150225190412p:plain

f:id:opensourcetech:20150225190418p:plain

 

なお、

error_log logs/error.log debug_http;

のようにすることで特定のモジュールでのみデバックログを出力されることも可能です。

詳細は、こちらをご覧下さい。

f:id:opensourcetech:20150225190425p:plain

 

 

 

にほんブログ村 IT技術ブログ Linuxへ
Linux

にほんブログ村 IT技術ブログ オープンソースへ
オープンソース

Opensourcetech by Takahiro Kujirai