Apacheの子プロセスが再起動する要因は?

このQ&Aのポイント
  • Apacheの子プロセスが再起動する要因は何ですか?
  • Windows2000サーバとApache2.0.54+mod_ssl、PHP5.12の環境で、httpd.confのMaxRequestsPerChildを0に設定していますが、SSLアクセスを継続して行うと、子プロセスのPIDが変わっています。MaxRequestsPerChildを0に設定しているのに、子プロセスが再起動する理由は何でしょうか?
  • 親プロセスは再起動していませんが、なぜMaxRequestsPerChildを0に設定しているのにApacheの子プロセスが再起動するのでしょうか?
回答を見る
  • ベストアンサー

Apacheの子プロセスが再起動する要因は?

こんにちは 環境: Windows2000サーバ Apache2.0.54+mod_ssl PHP5.12 apacheの設定でhttpd.confのMaxRequestsPerChildを0に 設定しているのですが、apacheへのSSLアクセスを継続して 行っていると、apacheの子プロセスのPID(プロセスID) が変わっています。 これは、子プロセスが再起動している証拠だと思うので すが、なぜMaxRequestsPerChildを0に設定しているのに、 子プロセスが再起動するのでしょうか?(設定が効きません?) ちなみに、親プロセスは再起動していません。

質問者が選んだベストアンサー

  • ベストアンサー
  • TA-HT81S
  • ベストアンサー率39% (72/184)
回答No.1

Windows+Apacheでしょ。 かなり不思議な現象なのですが、時々リスタートさせるのがWindowsの流儀だそうです。そのリスタートのしきい値を設定できるようになっていて、閉口しました。 私は、回避できずにWindowsを捨てました。

関連するQ&A

  • Apache起動時にエラー

    質問があります。 ApacheをSSLで起動し、IEからアクセスしようとしたら反応が遅く また、エラーログが大量に出ています。その後、表示ができませんと IEから出ています。 【ログ内容】 [notice] child pid XXXX exit signal Segmentation fault (11) また、Googleで調べたら、勘違いだったら申し訳ありません。 PHPからみで出るとかあったのですが、今回、とくにインストールしていません。知っている方が、いらっしゃったら教えてください。 環境としては、 OS Solaris10 Apache2.2.14とOpenSSL0.9.8lをソースでインストール 特に問題なくインストールできています。 切り分けで、OpenSSLをサンフリーからパッケージでインストールし Apacheをソースで再度、コンパイルしても現象は一緒でした。 OpenSSLの鍵・証明書の作成としては以下を実行 openssl genrsa -des3 -out server.key 1024 openssl rsa -in server.key -out server.key openssl req -new -key server.key -out server.csr -days 365  openssl x509 -in server.csr -out server.pem -req -signkey  server.key -days 365 httpd-ssl.confの設定 SSLCertificateFile /usr/local/apache2/conf/server.crt ↓ SSLCertificateFile /usr/local/apache2/conf/server.pem SSLCertificateKeyFile /usr/local/apache2/conf/server.key ↓(そのまま) SSLCertificateKeyFile /usr/local/apache2/conf/server.key http.confの設定 #Include conf/extra/httpd-ssl.conf ↓ Include conf/extra/httpd-ssl.conf 以上、よろしくお願いします。

  • Apache(win32)での子プロセスについて

    PHPとは関係ないかもしれませんが、 適切なカテゴリーがなかったため、こちらに投稿しました。 現在、 Windows Server 2003 + Apache2.058 + php5.21  という環境でWEBシステムを開発していますが、 アクセスが増えてくるとApacheプロセスの使用メモリーが増大して メモリリークが発生してしまいます。 そこで、MaxRequestsPerChild を設定しますと、 リクエスト数でプロセスを再生成しますのでメモリは安定しますが、 再生成時にアクセスがあった場合に、不安定な動きをします。 (Terminating 17 threads that failed to exit.というerrorログを出力してApacheが動かなくる) そこで、お聞きしたいことが2点あります。 (1)アクセスが増えると使用メモリーは増大するものなのでしょうか? (2)MaxRequestsPerChildを設定した場合、子プロセス再生成時にアクセスがあった場合は、不安定になるものでしょうか? ご回答、対応策をご存知でしたら 教えていただけないでしょうか。よろしくお願いします。

    • 締切済み
    • PHP
  • CygwinでインストールしたApacheが起動しない

    Windows2000Pro SP4 にて、Cygwinをインストールし、 Apache+mod_ssl+Opensslの構築を試しています。 mod_ssl付属のインストールマニュアルの通りに行い、 全て正常にインストールできたように見えたのですが、 Apacheが正常に起動しません。 具体的には、 ./apachectl start は一見正常に見えるのですが、 ps コマンドではプロセスは見えず、 ./apachectl stop を行うと、not running といった表示が出ます。 なお、最初の起動時に 「bin配下にhttpdがない」というエラーが出たため、 touchコマンドでhttpdを作成、 また、「conf配下にpidファイルがない」 というエラーが次に出たため、 こちらもtouchコマンドで作成しています。 #この時点でまずいのでしょうか…? ちなみに、Windowsの管理画面で Apacheのサービスが存在していないのですが、 これはこれで問題なのでしょうか? 同じような事象を体験された方など、 心当たりのある方、お教えください。 よろしくお願いします。

  • ApacheにおけるSSLモジュールの動作

    以下の環境でssl通信(https)を計画しています。 OS:RedHat Linux AS 4 Web:Apache 2.0 Apache2.0からはsslのモジュールは標準機能だと思っているのですが、 httpd.confに次の様に設定するとエラーとなり、httpdが起動しません。 <VirtualHost *:443> ServerName hogehoge.example.com SSLProxyEngine on    ・    ・    ・ </VirtualHost> エラーの内容: Invalid command 'SSLProxyEngine', perhaps misspelled or defined by a module not included in the server configuration mod_sslがincludeされていないためと考え、httpd.confにmod_ssl.soを追加しましたが、mod_ssl.soが存在しないため、エラーとなり、やっぱり起動できません。 質問内容 (1)Apache 2.0 でSSLProxyEnginディレクティブの正しい定義の仕方を教えてください。 (2)必要であれば、mod_sslを追加で導入する手順について教えてください。  ApacheはDSOサポート環境です。(mod_so.cがあります) よろしくお願いいたします。

  • XAMPP1.7.3でApacheが起動しない

    よろしくお願いします。 ローカルPCのOSはWin7の32bitで、xampp-win32-1.7.3をインストールしました。 Apacheが起動しなくて困ってます。 エラー表示は、Busy・・・ Apache started。 保存先は、c:\pg\xamppでxampp\xamppのようにはしてません。 xampp-portcheckでは、Statusは全てfreeになってます。 \apache\conf\httpd.confの、 # Perl settings Include "conf/extra/httpd-perl.conf" の部分は、 # Perl settings # Include "conf/extra/httpd-perl.conf" とコメントアウトにしました。 コマンドプロンプトのnetstat -aonで80番ポートを調べましたが、 0.0.0.0:80はありませんでした。 Apacheのerror.logは以下です。 (↓エラーログ) [Fri Apr 01 23:30:50 2011] [notice] Digest: generating secret for digest authentication ... [Fri Apr 01 23:30:50 2011] [notice] Digest: done [Fri Apr 01 23:30:51 2011] [notice] Apache/2.2.14 (Win32) DAV/2 mod_ssl/2.2.14 OpenSSL/0.9.8l mod_autoindex_color PHP/5.3.1 mod_apreq2-20090110/2.7.1 mod_perl/2.0.4 Perl/v5.10.1 configured -- resuming normal operations [Fri Apr 01 23:30:51 2011] [notice] Server built: Nov 11 2009 14:29:03 [Fri Apr 01 23:30:51 2011] [crit] (22)Invalid argument: Parent: Failed to create the child process. [Fri Apr 01 23:30:51 2011] [crit] (OS 6)ハンドルが無効です。 : master_main: create child process failed. Exiting. [Fri Apr 01 23:30:51 2011] [notice] Parent: Forcing termination of child process 36 ちなみに、MySQLも起動しません。 エラー表示は、同様にBusy・・・ MySQL started。 どうかよろしくお願いします。

    • ベストアンサー
    • MySQL
  • apache・phpが起動しない・・・

    phpを勉強しようと思い、環境を設定しているのですが上手くいきません。どなたかご指導宜しくお願い致します。 本を見てapacheとphpをインストールしたあとに、httpd.confなどを設定しました。 apacheが起動しないようで、ms-dosのような画面が出てきて、httpd.confの「LoadModule php5_module C:/php/php5apache2_2.dll」がエラーになってるようです。 ms-dosみたいな画面には「LoadModule takes two arguments, a module name and the name of a shared object file to load it from」と書いてます。 環境  windows vista ダウンロードファイル apache_2.2.4-win32-x86-no_ssl.msi php-5.2.1-Win32.zip

    • ベストアンサー
    • PHP
  • Apache2が起動しなくなった!!

    はじめまして。さっそく質問なのですが、Apache2とPHP4の連動のために、Apacheのconfフォルダにあるhttpd.confの中身を設定通りいじって 「LoadModule php4_module c:/php/sapi/php4apache2.dll」←追加 「AddDefaultCharset none」←変更 「AddType application/x-httpd-php .php」←追加 そして、php.ini側では、 「doc_root = "c:/Program Files/Apache Group/Apache2/htdocs"」 「extension_dir = "c:/php/extensions"」←変更 でしましたが、その後、Apacheを再起動しようとするとエラーになって再起動ができなくなりました。 どなたか、なにか気になる点があれば教えて下さい!! お願いします。

    • ベストアンサー
    • PHP
  • Apache2.2起動しない・・・助けてください。

    Apache2.2.22をインストールています。http://localhost/でit's worksが出ており、ちゃんとインストール されていますが、パソコンを再起動してApacheを起動させると、(OS 10048)各ソケット アドレスに対してプロトコール、ネットワーク・・・ポートのどれか一つのみ使用できます・・・adress0.0.0.80・・・という文書が出てきて、約30秒ぐらいで画面が消えます。  ネットで色々調べて、コマンド プロンプトを使ってnetstat -oanでポート80を使っているもののPIDを調べ、そのPIDを windowsのタスクマネージャーで調べたところ、イメージ名はhttpd.exeとなっています。  削除しようと思って、右クリックし、プロセス終了と選択しました。それで消せたと思って、再度Apacheを起動したら、まだ同じ(OS 10048)各ソケット アドレス・・・adress0.0.0.80・・・という文書が出てきて、そしてまだ約30秒位で画面が消えます。   まだ他の何かはポート80を使っているのかなと思って、同じ手順でPIDを調べて、PIDが違う番号になりますが、タスクマネージャーで見たら、イメージ名はまだhttpd.exeです。このhttpd.exeファイルを右クリック、プロパティを見たら、作成日時と更新日時は以前にApacheをインストールした時の日時になっていて、アクセス日時は今日の日時になっています。 最初Apacheのインストールがうまく行かなかったから、何回かアンインストールをして、再度インストールをしたがあります。何回かのアンインストールと関係あるでしょうか? Apacheは起動できないのは問題はどこにあるのでしょうか? httpd.confはインターネットの説明通りに設定しています。今使っているパソコンはwindows7です。 本当に色々調べても分からないので、ここで質問させて頂きます。助けてください。 何か情報が必要であれば答えさせて頂きます。 よろしくお願いいたします。

    • ベストアンサー
    • PHP
  • Apache2.2起動しない・・・助けてください。

    Apache2.2.22をインストールています。http://localhost/でit's worksが出ており、ちゃんとインストールされていますが、パソコンを再起動してApacheを起動させると、(OS 10048)各ソケット アドレスに対してプロトコール、ネットワーク・・・ポートのどれか一つのみ使用できます・・・adress0.0.0.80・・・という文書が出てきて、約30秒ぐらいで画面が消えます。   ネットで色々調べて、コマンド プロンプトを使ってnetstat -oanでポート80を使っているもののPIDを調べ、そのPIDを windowsのタスクマネージャーで調べたところ、イメージ名はhttpd.exeとなっています。  削除しようと思って、右クリックし、プロセス終了と選択しました。それで消せたと思って、再度Apacheを起動したら、まだ同じ(OS 10048)各ソケット アドレス・・・adress0.0.0.80・・・という文書が出てきて、そしてまだ約30秒位で画面が消えます。   まだ他の何かはポート80を使っているのかなと思って、同じ手順でPIDを調べて、PIDが違う番号になりますが、タスクマネージャーで見たら、イメージ名はまだhttpd.exeです。このhttpd.exeファイルを右クリック、プロパティを見たら、作成日時と更新日時は以前にApacheをインストールした時の日時になっていて、アクセス日時は今日の日時になっています。 最初Apacheのインストールがうまく行かなかったから、何回かアンインストールをして、再度インストールをしたがあります。何回かのアンインストールと関係あるでしょうか? Apacheは起動できないのは問題はどこにあるのでしょうか? httpd.confはインターネットの説明通りに設定しています。今使っているパソコンはwindows7です。 本当に色々調べても分からないので、ここで質問させて頂きます。助けてください。 何か情報が必要であれば答えさせて頂きます。 よろしくお願いいたします。

    • ベストアンサー
    • PHP
  • apache2.0.64に後からmod_sslを入れているのですが…

    apache2.0.64に後からmod_sslを入れているのですが… apache2.0.64に後からmod_sslを入れているのですが、うまくいかず困っています。 apache2.0.64を導入後にSSLが必要になったので下記サイトを参考にしてあとからmod_sslを入れようと試みています。 http://d.hatena.ne.jp/hiro_nemu/20090516/1242436684 apacheはすでに起動してのですが、導入後はapachectlでstopできなくなりました。 原因はLoadModule ssl_moduleがloadできないようでコメントアウトすると今までどおりapacheを起動できます。 起動時のエラーは以下の通りです。 Syntax error on line 268 of /usr/local/apache/conf/httpd.conf: Cannot load /usr/local/apache/modules/mod_ssl.so into server: /usr/local/apache/modules/mod_ssl.so: undefined symbol: ssl_cmd_SSLMutex ここからどうしていいかわからない状態です。 何でもかまわないのでご教授ください。