Nginx

PHP 網關超時

  • September 2, 2013

我需要延長 PHP 的執行時間,否則可能會出現問題。我以為我已經這樣做了,但我仍然從我最近的 wordpress 安裝中獲得網關超時。php-fpm 池有如下配置

[john]
user = john
group = john

listen = 127.0.0.1:9002
listen.owner = www
listen.group = www

pm = dynamic
pm.max_children = 5
pm.start_servers = 2
pm.min_spare_servers = 1
pm.max_spare_servers = 3

php_admin_value[max_execution_time] = 300
php_admin_value[max_input_time] = 120

語法沒問題,但是腳本在大約 30 秒後超時,我想知道我還錯過了什麼。這可能是矯枉過正,但我很著急,稍後會學習,隨時解釋,但如果有人能告訴我我可以增加的所有價值,以用蠻力解決這個問題並解決它,那就太好了。

在 /etc/php5/fpm/pool.d/www.conf 添加這一行:

request_terminate_timeout = 180

此外,在 /etc/nginx/sites-available/default 中,將以下行添加到相關伺服器的 location 塊中:

fastcgi_read_timeout 180;

整個位置塊如下所示:

location ~ \.php$ {
   fastcgi_pass unix:/var/run/php5-fpm.sock;
   fastcgi_index index.php;
   fastcgi_param   SCRIPT_FILENAME $document_root$fastcgi_script_name;
   fastcgi_read_timeout 180;
   include fastcgi_params;
}

現在只需重新啟動 php-fpm 和 nginx,對於少於 180 秒的請求應該不會再有超時。

引用自:https://serverfault.com/questions/535620