web-dev-qa-db-ja.com

MonitApache2モニタリングに使用するhttpd.pidが見つかりません

私はLinuxを初めて使用し、DigitalOceanでUbuntu12.04をセットアップします。

Monitをインストールし、電子メールアラートでMySQLを正常に監視できるようにしました。

Apache2も監視したいのですが、monitrcファイルに入れるのに必要なhttpd.pidファイルが見つかりません。

Apache2は次のコマンドで開始できます:/etc/init.d/Apache2 start

Apache2を次の方法で停止できます:/etc/init.d/Apache2 stop

Spache2は次のコマンドで再起動できます:/etc/init.d/Apache2 restart

Httpd.pidファイルなしでMonitでApache2を監視する他の方法はありますか?

2
Bergen

Initスクリプトを見ると、$ Apache_PID_FILEの値が使用されています。この値は$ Apache_ENVVARSとして定義されたファイルから読み取られ、デフォルトは/ etc/Apache2/envvarsであると思います。

PIDFILE=$(. $Apache_ENVVARS && echo $Apache_PID_FILE) 

Envvarsファイルでは、PIDFILEは次のように定義されています。

Apache_PID_FILE =/var/run/Apache2 $ SUFFIX.pid

Apache2の複数のインスタンスを実行していない限り、$ SUFFIXは「」になる可能性が高いため$ Apache_PID_FILEの値は次のようになります。

/var/run/Apache2.pid

しかし、あなたは実行できるはずです

echo $(. /etc/Apache2/envvars && echo $Apache_PID_FILE) 

そして、あなたのシステムが価値があると考えるものを手に入れてください。

4
user9517

Centosでは、「サービス」ユーティリティを使用してデーモンを管理する可能性が高くなります。サービスは次のディレクトリで構成されます:/etc/init.d/

ファイル/etc/init.d/httpdには、pidファイルの場所があります。何かが見えますlike pidfile=${PIDFILE-/var/run/httpd/${prog}.pid}

したがって、私のpidfileは/var/run/httpd/httpd.pidにあることがわかります。

1
Mayank Jaiswal

apache 2.4またはchefcookbook( https://github.com/sous-chefs/Apache2 )を介してインストールする場合、場所は/var/run/Apache2/Apache2.pidになります。

0
Raushan

私が試みる2つのこと:

  1. PIDファイルを書き出すようにApacheを構成できるかどうかを確認してください。参照: http://httpd.Apache.org/docs/2.2/mod/mpm_common.html#pidfile
  2. pgrepコマンドを使用して、開始/停止中にPIDファイルを作成するようにApache2開始/停止スクリプトを変更します。参照: http://mmonit.com/wiki/Monit/ConfigurationExamples
0
martian111