質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

90.48%

  • PHP

    20782questions

    PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

  • CentOS

    2760questions

    CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

  • Apache

    1855questions

    Apacheは、Apache HTTP Serverの略で、最も人気の高いWebサーバソフトウェアの一つです。安定性が高いオープンソースソフトウェアとして商用サイトから自宅サーバまで、多くのプラットフォーム向けに開発・配布されています。サーバーソフトウェアの不具合(NCSA httpd)を修正するパッチ(a patch)を集積、一つ独立したソフトウェアとして開発されました。

Apacheエラーログについて

受付中

回答 3

投稿 編集

  • 評価
  • クリップ 0
  • VIEW 3,400

kumakumatan

score 127

・Apache/2.4.18 (CentOS)
・PHP 5.6.18 (cli) (built: Feb 25 2016 02:12:24) 
・CentOS release 6.5 (Final)

にてWEBサイトを開発しています。
PHPプログラムにて、特定のページから戻る際、画像データが大量にあった場合に下記のエラーが発生してしまいます(/var/log/httpd/error_log)。
エラーメッセージ「[proxy_fcgi:error] [pid 8850:tid 14012548987648] (104)Connection reset by peer」

外部の画像ファイルがあるサーバに、APIを利用して画像を表示し、その後、画面を
戻す動きをしています。
/var/log/php/のerrorlogには記載されません。
/var/log/httpd/のerrorlogに記載されています。

=====httpd.confの内容==========================
ServerRoot "/etc/httpd"
Listen 80

 LoadModule foo_module modules/mod_foo.so

Include conf.modules.d/*.conf
User apache
Group apache

ServerAdmin root@localhost
ServerName test.ABC.co.jp:80

<Directory />
    AllowOverride none
    Require all denied
</Directory>

DocumentRoot "/usr/local/apache2/htdocs"

<Directory "/usr/local/apache2/htdocs/">
     AllowOverride None
     Require all granted
</Directory>

<Directory "/usr/local/apache2/htdocs">
    Options Includes ExecCGI FollowSymLinks
    AllowOverride All
    Require all granted
</Directory>

<IfModule dir_module>
     DirectoryIndex index.php
</IfModule>

<Files ".ht*">
     ForceType text/html
     SetOutputFilter INCLUDES
</Files>

ErrorLog "logs/error_log"
LogLevel warn

<IfModule log_config_module>
    LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
    LogFormat "%h %l %u %t \"%r\" %>s %b" common

    <IfModule logio_module>
      LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %I %O" combinedio
    </IfModule>
    CustomLog "logs/access_log" combined
</IfModule>

<IfModule alias_module>
    <If "-n %{PATH_INFO}">
        # 存在しないディレクトリがURLに含まれていれば、404 Not Found を返す
        Redirect 404 /
    </If>
    ScriptAlias /cgi-bin/ "/var/www/cgi-bin/"
</IfModule>

<Directory "/var/www/cgi-bin">
    AllowOverride None
    Options None
    Require all granted
</Directory>

<IfModule mime_module>
    TypesConfig /etc/mime.types

    AddType application/x-compress .Z
    AddType application/x-gzip .gz .tgz
    AddType application/x-httpd-php .php .inc
    AddHandler cgi-script .cgi .pl

    AddType text/html .shtml
    AddOutputFilter INCLUDES .shtml
</IfModule>
AddDefaultCharset off

<IfModule mime_magic_module>
    MIMEMagicFile conf/magic
</IfModule>

EnableSendfile on
IncludeOptional conf.d/*.conf

Include conf/extra/httpd-default.conf

<IfModule prefork.c>
StartServers             256
MinSpareServers          256
MaxSpareServers          256
ServerLimit              512
MaxRequestWorkers        512
MaxConnectionsPerChild   500
</IfModule>

<IfModule worker.c>
ServerLimit         60
StartServers         2
MaxRequestWorkers 1500
MinSpareThreads     25
MaxSpareThreads     75
ThreadsPerChild     25
MaxConnectionsPerChild 2000
</IfModule>
Include conf/extra/php-fpm.conf
========================httpd.conf内容=============================
どこを修正すればいいでしょうか?
宜しくお願いします。

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

質問への追記・修正、ベストアンサー選択の依頼

  • infrataro

    2016/04/13 18:43

    ≫特定のページから戻る際 上記をもう少し具体的に実施した動作を教えていただけますでしょうか。 またPHP側でエラーログは出力していますでしょうか。 あればその際に出ているログもご提示ください。

    キャンセル

  • over

    2016/04/14 14:58

    Apacheのモジュールがエラーを出しているようです。 httpd.confで該当する箇所を示せばより良い回答が得られるのではないでしょうか。 該当箇所がわからなければ全文のせるのも良いですが、サイトに関わる情報はマスクすることをお忘れなく。

    キャンセル

回答 3

0

http://www.drk7.jp/MT/archives/001593.html

ここ参考にならないかな?

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

0

提示頂いたhttpd.confからは、関連したモジュールの設定は見当たりません。
include先で指定しているのではないでしょうか。

ここから先はご記載頂いた情報からの推測になります。
エラーログを見るに、httpdの設定の問題ではないかもしれません。
ログは「proxy fcgi」処理においてサーバ間通信が切断された旨を示しています。

画像データが大量にあった場合

上記とありますが、処理はどの程度時間を要するのでしょう?
時間を要する処理のみに発生するというのであれば、どこかでセッション切れをおこしているのかもしれません。
対抗サーバのセッション関連の設定、自サーバのapache、phpのセッション関連の設定をチューニングしてみては如何でしょう。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2016/04/15 09:45

    ログの詳細です。
    [proxy_fcgi:error] [pid 11574:tid 1401222019207258] [client 111.1111.0.211:60189] AH01067: Failed to read FastCGI header
    [proxy_fcgi:error] [pid 11574:tid 1401222019207258] (104)Connection reset by peer: [client 111.1111.0.211:60189] AH01075: Error dispatching request to :

    php-fpmを利用して画像データを取得する処理をしています。
    「/etc/php-fpm.d/www.conf」の設定は下記にしています。
    pm = static
    pm.max_children = 50
    ;pm.max_requests = 500
    この「pm.max_requests」を無効にしているのがまずいのでしょうか?
    バージョン情報は下記の通りです。
    PHP 5.6.20 (fpm-fcgi)
    Server version: Apache/2.4.18 (CentOS)
    yum list | grep php-fpmで検索すると、
    http://archive.linux.duke.edu/ius/stable/CentOS/6/x86_64/repodata/repomd.xml: [Errno 12] Timeout on http://archive.linux.duke.edu/ius/stable/CentOS/6/x86_64/repodata/repomd.xml: (28, 'connect() timed out!')
    Trying other mirror.
    php-fpm.x86_64 5.3.3-46.el6_7.1 updates
    php56-php-fpm.x86_64 5.6.20-1.el6.remi remi-safe
    php70-php-fpm.x86_64 7.0.5-2.el6.remi remi-safe
    と表示されます。
    宜しくお願いします。

    キャンセル

  • 2016/04/15 10:02

    セッション関連をチューニングした上での返答と理解して宜しいでしょうか?
    httpd.confからIncludeしているconfにProxy_moduleの設定をしているところはありませんか?
    そこのtimeout値を確認してみては如何でしょうか。

    キャンセル

0

Connection reset by peerなんだから、クライアント側がsocketを閉じたんじゃないですかね。
socketを閉じた理由はおそらくタイムアウトでしょう。
エラーが起きる時の負荷を見てみればわかる気がします。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2016/04/15 09:56

    ご回答ありがとうございます。
    負荷状況を見てみると、負荷はかかっていません。
    「/etc/php-fpm.d/www.conf」の「request_terminate_timeout = 180」にしています。これをもう少し長くすればいいでしょうか?
    宜しくお願いします。

    キャンセル

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 90.48%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

同じタグがついた質問を見る

  • PHP

    20782questions

    PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

  • CentOS

    2760questions

    CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

  • Apache

    1855questions

    Apacheは、Apache HTTP Serverの略で、最も人気の高いWebサーバソフトウェアの一つです。安定性が高いオープンソースソフトウェアとして商用サイトから自宅サーバまで、多くのプラットフォーム向けに開発・配布されています。サーバーソフトウェアの不具合(NCSA httpd)を修正するパッチ(a patch)を集積、一つ独立したソフトウェアとして開発されました。