- PR -

apacheが停止する

1
投稿者投稿内容
prepisu
会議室デビュー日: 2006/01/30
投稿数: 9
投稿日時: 2006-06-19 14:14
こんにちは。

毎朝、apacheが4時過ぎに停止してしまいます。

4時2分頃に実行されるdaily.cronが実行されるので、
daily.cronの処理後に
apache再起動に失敗しているのかと
考えていますが、
どうしたら良いか困っております。

どなたかご存知の方がいらっしゃいましたら
ご教授宜しくお願いします。

■環境
OS:Redhat Enterprise AS 2.1
Java:1.4.2_03
その他:tomcat4.1.30
apache1.3.23
jasperReport0.5.2
Struts1.1

停止時付近のログを添付します。
■httpd error.log

[Tue May 30 04:02:03 2006] [notice] SIGHUP received. Attempting to restart
[Tue May 30 04:02:03 2006] ( info ) [mod_jk2.c (332)] Set serverRoot /etc/httpd
[Tue May 30 04:02:03 2006] ( info ) [mod_jk2.c (424)] mod_jk child init
[Tue May 30 04:02:03 2006] ( info ) [mod_jk2.c (432)] mod_jk.post_config() init worker env

[Wed May 31 04:02:02 2006] [notice] SIGHUP received. Attempting to restart
[Wed May 31 04:02:02 2006] ( info ) [mod_jk2.c (332)] Set serverRoot /etc/httpd
[Wed May 31 04:02:02 2006] ( info ) [mod_jk2.c (424)] mod_jk child init
[Wed May 31 04:02:02 2006] ( info ) [mod_jk2.c (432)] mod_jk.post_config() init worker env

■jk2.log

[Tue May 30 04:02:03 2006] ( info ) [jk_logger_file.c (176)] Level DEBUG 0

[Tue May 30 04:02:03 2006] ( info ) [jk_config.c (490)] config.update(): done logger

[Tue May 30 04:02:03 2006] ( info ) [jk_config.c (490)] config.update(): done channel.socket:localhost:8010

[Tue May 30 04:02:03 2006] ( info ) [jk_config.c (490)] config.update(): done uri:/sds/*

[Tue May 30 04:02:03 2006] ( info ) [jk_config.c (490)] config.update(): done uri:/manager/*

[Tue May 30 04:02:03 2006] ( info ) [jk_config.c (490)] config.update(): done status:

[Tue May 30 04:02:03 2006] ( info ) [jk_config.c (490)] config.update(): done shm:

[Tue May 30 04:02:03 2006] ( info ) [jk_logger_file.c (134)] Initializing log file /etc/httpd/logs/jk2.log

[Tue May 30 04:02:03 2006] ( info ) [jk_channel_apr_socket.c (215)] channelApr.resolve(): create AF_NET localhost 8010


[Wed May 31 04:02:02 2006] ( info ) [jk_logger_file.c (176)] Level DEBUG 0

[Wed May 31 04:02:02 2006] ( info ) [jk_config.c (490)] config.update(): done logger

[Wed May 31 04:02:02 2006] ( info ) [jk_config.c (490)] config.update(): done channel.socket:localhost:8010

[Wed May 31 04:02:02 2006] ( info ) [jk_config.c (490)] config.update(): done uri:/sds/*

[Wed May 31 04:02:02 2006] ( info ) [jk_config.c (490)] config.update(): done uri:/manager/*

[Wed May 31 04:02:02 2006] ( info ) [jk_config.c (490)] config.update(): done status:

[Wed May 31 04:02:02 2006] ( info ) [jk_config.c (490)] config.update(): done shm:

[Wed May 31 04:02:02 2006] ( info ) [jk_logger_file.c (134)] Initializing log file /etc/httpd/logs/jk2.log

[Wed May 31 04:02:02 2006] ( info ) [jk_channel_apr_socket.c (215)] channelApr.resolve(): create AF_NET localhost 8010
はしもと
大ベテラン
会議室デビュー日: 2003/02/05
投稿数: 182
投稿日時: 2006-06-19 18:28
ログを見ると再起動は開始している様ですが、
起動していないとなると途中で落ちたって事ですかね。

マニュアルで SIGHUP 送ると問題無いのですか ?
Java僧
ぬし
会議室デビュー日: 2003/11/06
投稿数: 261
投稿日時: 2006-06-19 23:06
mod_jkも切り放して検証したらどうでしょう?
会社員
ベテラン
会議室デビュー日: 2003/01/21
投稿数: 50
投稿日時: 2006-06-20 01:03
apacheの再起動の方法を

apachectl restart

から

apachectl graceful

にしてみては。
prepisu
会議室デビュー日: 2006/01/30
投稿数: 9
投稿日時: 2006-06-27 19:34
はしもと様、Java僧様、会社員様
返信ありがとうございます。
また、返信が遅くなり申し訳ありません。

はしもと様にご指摘いただいている件ですが、
/etc/logrotate.d/apacheに記載されている
/bin/kill -HUP `cat /var/run/httpd.pid 2>/dev/null` 2> /dev/null || true
を実行した場合の結果がどうなるのか?
という事でしょうか?
先ほど試したところ、下記のログが表示されました。
[Tue Jun 27 19:32:27 2006] [notice] SIGHUP received. Attempting to restart
[Tue Jun 27 19:32:27 2006] ( info ) [mod_jk2.c (332)] Set erverRoot /etc/httpd
[Tue Jun 27 19:32:27 2006] ( info ) [mod_jk2.c (424)] mod_jk child init
[Tue Jun 27 19:32:27 2006] ( info ) [mod_jk2.c (432)] mod_jk.post_config() init worker env

何か分かりますでしょうか?

Java僧様の仰っていた通り
mod_jkを切り離した場合には
ログのロテートが正常に行われているようです。
(httpdは起動していました。)

会社員様にご指摘頂いた
apacheを再起動する際ですが、
service httpd stopで停止した後に
service httpd startで起動しています。
上記のコマンドでhttpdが起動しないわけではないですので、
ログのロテートの記述を何か書き換えた方がいいのでしょうか?

個人的にはhttpdとtomcatの連携がまずい為に
httpdがログのロテートで起動に失敗するのかと
推測していますが、今後どのように解決していけば良いか
悩んでいます。
ご教授願えませんでしょうか?

一点気になりますのは
この環境は既存の本番環境を作成した手順書に沿って作成しました。
(どこまで信頼できるか分からない物ですが)
coyoteのconfigureが手順書どおりに通らなかったので、
aprとapr-utilをインストールしました。
(aprのオプション指定した先が見つからないと言われました)
この件に関しましてもどなたかご存知の方が
いらっしゃいましたら教えていただけますと助かります。

以上です。
Java僧
ぬし
会議室デビュー日: 2003/11/06
投稿数: 261
投稿日時: 2006-06-28 21:13
JKコネクタの種類とバージョンが書いてないですけど、
メッセージから察するに、mod_jk2を使用中ですね?

これをmod_jkに変えてみたらどうでしょう?
最新は1.2.15(2005年11月8日)です。

ここの会議室ではたびたび話題になるのですが、
jk2は2004年11月に"officially unsupported"になっています。
http://tomcat.apache.org/connectors-doc/news/20041100.html#20041115.1
prepisu
会議室デビュー日: 2006/01/30
投稿数: 9
投稿日時: 2006-06-29 22:02
Java僧様返信ありがとうございます。

本番環境構築の資料を基に下記をダウンロードしインストールしました。
jakarta-tomcat-connectors-jk2-src-current.tar.tar

リンク先の文言からしてJKコネクタのバージョンは
JK2 2.0.4です。

mod_jkに変えて動作するなら変更したいところですが、
本番環境を構築した資料にJK2をしようしていると記載が
あるので、JK2で動作させたいと思っております。

※実際本番環境のJKコネクタのバージョンは自分の目で確認できてはいません。
1

スキルアップ/キャリアアップ(JOB@IT)