私のPHPスクリプトを60秒以上実行する必要がある場合、私は絶えず504ゲートウェイエラーを受けています。504ゲートウェイタイムアウトメディアテンプル
私は専用サーバーのメディアテンプルにいます。私はメディアの寺院に連絡して、彼らは助けになったが、彼らのsuggesionのどれも私のために動作していないようだ、私はこのファイルを編集するように言われた。私は
以下LoadModule fcgid_module modules/mod_fcgid.so
<IfModule mod_fcgid.c>
<IfModule !mod_fastcgi.c>
AddHandler fcgid-script fcg fcgi fpl
</IfModule>
FcgidIPCDir /var/run/mod_fcgid/sock
FcgidProcessTableFile /var/run/mod_fcgid/fcgid_shm
FcgidIdleTimeout 300
FcgidMaxRequestLen 1073741824
FcgidProcessLifeTime 10000
FcgidMaxProcesses 64
FcgidMaxProcessesPerClass 15
FcgidMinProcessesPerClass 0
FcgidConnectTimeout 600
FcgidIOTimeout 600
FcgidInitialEnv RAILS_ENV production
FcgidIdleScanInterval 600
</IfModule>
に私は私はこれをテストするために、私はできる限り最大のすべてにしようとしていてい
/etc/httpd/conf.d/fcgid.conf
以下の関数を実行するだけです。
スリープは60秒以下の値では正常に戻りますが、60になると、504ゲートウェイエラーが発生します。
私のphpinfo();出力
max_execution_time 600
max_input_time 180
私はこのfastcgi_connect_timeoutの増加にいくつかの記事を見たが、どこのメディアの寺院でこれを見つけるには考えを持っていませんでした。
誰もが感謝
UPDATE STILL CANT FIX THIS
を助けることができるサポートとおしゃべりした後、私はnginx.confを編集する必要があると言われていますか?このポストに向けられましたhttp://blog.secaserver.com/2011/10/nginx-gateway-time-out/
私のホスト上の値のいずれかを細かく設定できます。
fastcgi_read_timeout私nginx.confファイルsend_timeout client_body_timeout client_header_timeout は、これは任意の提案私は狂気運転しているこの#error_log /var/log/nginx/error.log info;
#pid /var/run/nginx.pid;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
#log_format main '$remote_addr - $remote_user [$time_local] "$request" '
# '$status $body_bytes_sent "$http_referer" '
# '"$http_user_agent" "$http_x_forwarded_for"';
#access_log /var/log/nginx/access.log main;
sendfile on;
#tcp_nopush on;
#keepalive_timeout 0;
keepalive_timeout 120;
#tcp_nodelay on;
#gzip on;
#gzip_disable "MSIE [1-6]\.(?!.*SV1)";
server_tokens off;
include /etc/nginx/conf.d/*.conf;
}
のように見えます?
UPDATE私は、これをここで修正した方法についてのブログ記事を頭痛の多くが追加した後に、これを最終的に分類することができました。 http://devsforrest.com/116/boost-settings-on-media-temple-for-maximum-settings
ホープこれは誰か
これは新しい設定だと思います。古いサーバーで問題が発生したことはありませんでしたが、新しいサーバーが稼働してこのサーバーに接続したためです。あなたの投稿は本当に助けになりました。私のアプリはApache Moduleモードで動作していますが、これでも問題は解決しました。本当に役に立ちました! – David
ちょっと@ user1503606 - あなたの最後のアップデートが動作します!それをあなたの答えとして掲示し、解決策を見つけるためのクレジットを得る。 – squarecandy
私はあなたのアプリケーションをリファクタリングして、スクリプトを200ms以上実行する必要性を取り除くことをお勧めします。いくつかの重いロジックをバックグラウンドに移動する必要があるかもしれません。 AJAX、メッセージキュー、memcache、フラグファイルなど、以下のテクノロジのいずれかを使用してサポートしてください。 –