nginx 504 Gateway Time-out 解決辦法


今天用PHP執行一個非常耗時的文件【ps:自己有用,大概3分鍾】

但是執行到一分鍾后顯示

nginx 504 Gateway Time-out

於是修改php-ini.php中的max_execution_time =1200;重啟php,還是沒用

 

突然明白,如果超時是php設置的問題,會報以下錯誤

Fatal error: Maximum execution time of 60 seconds exceeded in E:\ceshi\001\map.php on line 27

所以問題出在nginx上,汗,上面不是說了nginx 504嗎;

 

繼續度娘

找到一篇關於nginx配置的文章【nginx.conf】

里面有一些這個配置

#設定http服務器
http
{
include mime.types; #文件擴展名與文件類型映射表
default_type application/octet-stream; #默認文件類型
#charset utf-8; #默認編碼
server_names_hash_bucket_size 128; #服務器名字的hash表大小
client_header_buffer_size 32k; #上傳文件大小限制
large_client_header_buffers 4 64k; #設定請求緩
client_max_body_size 8m; #設定請求緩
sendfile on; #開啟高效文件傳輸模式,sendfile指令指定nginx是否調用sendfile函數來輸出文件,對於普通應用設為 on,如果用來進行下載等應用磁盤IO重負載應用,可設置為off,以平衡磁盤與網絡I/O處理速度,降低系統的負載。注意:如果圖片顯示不正常把這個改成off。
autoindex on; #開啟目錄列表訪問,合適下載服務器,默認關閉。
tcp_nopush on; #防止網絡阻塞
tcp_nodelay on; #防止網絡阻塞
keepalive_timeout 120; #長連接超時時間,單位是秒

#FastCGI相關參數是為了改善網站的性能:減少資源占用,提高訪問速度。下面參數看字面意思都能理解。
fastcgi_connect_timeout 300;
fastcgi_send_timeout 300;
fastcgi_read_timeout 300;
fastcgi_buffer_size 64k;
fastcgi_buffers 4 64k;
fastcgi_busy_buffers_size 128k;
fastcgi_temp_file_write_size 128k;

}

於是把自己nginx配置中的fastcgi_connect_timeout值改了一下,ok了

看了字母意思也就明白了

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM