當WordPress出現504 gateway time-out超時問題時,您需要注意兩個重點:PHP-FPM和NGINX的fastcgi_read_timeout設置。
- PHP-FPM:
- 檢查PHP-FPM的配置,確保它與NGINX的設置相匹配。特別關注PHP-FPM的超時設置,例如max_execution_time和request_terminate_timeout等參數,確保它們設置得足夠長,以容許WordPress執行複雜的操作。
- 您可以通過編輯php.ini文件或php-fpm.conf文件來調整這些參數。增加這些參數的值可以解決由於PHP執行時間限制而導致的504網關超時錯誤。
- NGINX的fastcgi_read_timeout設置:
- 在NGINX配置文件中,您可以設置fastcgi_read_timeout指令,以確保NGINX等待PHP-FPM的響應時間足夠長。例如,將它設置為300秒,可以讓NGINX等待300秒以獲得PHP-FPM的響應。
- 要調整這個設置,您需要在NGINX的配置文件中找到相關的location部分,並添加或修改fastcgi_read_timeout指令。確保將其設置為適當的數值,以應對您的網站執行所需的時間。
location ~ \.php$ { #NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini fastcgi_pass unix:/var/run/php/php7.4-fpm.sock; include fastcgi_params; fastcgi_intercept_errors on; #The following parameter can be also included in fastcgi_params file fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_read_timeout 3000; }
通過調整PHP-FPM的設置以及NGINX的fastcgi_read_timeout設置,您應該能夠解決WordPress的504網關超時問題,從而確保您的網站運行順暢且無錯誤。