国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 服務器 > Web服務器 > 正文

LNMPA遇到504 Gateway time-out錯誤的解決方法

2024-09-01 13:52:32
字體:
來源:轉載
供稿:網友

Nginx的特點是處理靜態很給力,Apache的特點是處理動態很穩定,兩者結合起來便是LNMPA,nginx處理前端,apache處理后端,這樣處理靜態會很快,處理動態會很穩定。

當我以為安裝完成以后便萬事大吉,不料更新網站的時候卻出現504 Gateway time-out;起初還以為這是偶然,多次嘗試后依然出現這樣的情況,因此才決定查找解決方法。

LNMP面對504 Gateway time-out 因為504 Gateway time-out是Nginx的專屬錯誤,因此起初我以為是nginx配置出錯,查找網上的教程,找到相應的解決方法,下面簡單說說LNMP面對此種情況的解決方案。Nginx出現這樣的錯誤,是因為對PHP-CGI進程數限制得太小,面對更新網站這類操作,很可能出現進程不足而超時的情況,因此要修改兩處涉及到處理時間的文件。 首先是nginx.conf文件,這個文件在/nginx/conf/nginx.conf,打開以后,主要修改前面幾個時間,建議修改為120秒以上。

至于用什么工具修改,推薦在線命令行編輯;或者用winscp下載下來,用Dreamweaver修改。

fastcgi_connect_timeout 300s; fastcgi_send_timeout 300s; fastcgi_read_timeout 300s; fastcgi_buffer_size 128k; fastcgi_buffers 8 128k;#8 128 fastcgi_busy_buffers_size 256k; fastcgi_temp_file_write_size 256k;

其次要修改php-fpm.conf文件,這個文件在/php-5.2.17/etc/php-fpm.conf,不同的一鍵安裝包位置有所不同,
反正找找php安裝以后文件下面的etc文件夾即可,在線編輯或下載下來用Dreamweaver編輯。
進入文件后搜索”max_children”這是php-cgi進程數,一個進程占 20M~30M內存,按自己的VPS或云主機內存進行計算,好比512M內存,推薦設置為18即可;
另外搜索”request_terminate_timeout”,這是超時時間,若php程序要長時間運作,那么設置時間大一點會比較好,好比設置為120秒,單位默認是秒,或者寫成120同樣可以。

LNMPA遇到504 Gateway time-out 當我按照Nginx的解決方法設置,很快設置成功,不過依然會出現504 Gateway time-out,這時我直接切換為LNMP組合,發現不再遇到504 Gateway time-out錯誤,這說明設置已經生效;為什么還會出現這樣的錯誤呢?

經過大量的資料查找,終于發現這是Nginx與Apache通信時間設置問題,當用戶發出php腳本執行請求,nginx不會執行php,
會把這個問題留給后臺的apache,nginx會等待一段時間,apache可以在等待時間內處理php腳本請求,若未處理完,nginx便已未收到數據請求而返回504 Gateway time-out錯誤,實際情況是apache依然會在后臺處理完php腳本,只是前臺返回錯誤。

解決方法是修改nginx與apche通信時間,具體是配置proxy.conf,這個文件在/nginx/conf/下面,名字可能會有變化,好比有的安裝包是laproxy.conf,反正是**proxy.conf文件。

proxy_connect_timeout 60; proxy_send_timeout 600; proxy_read_timeout 90; proxy_buffer_size 128k;proxy_buffers 8 128k; proxy_busy_buffers_size 256k; proxy_temp_file_write_size 100m; 

第一項是連接時間,前端連接后端時間,60s以內即可,第二個是發送時間,允許后端返回數據的時間,90s以內即可,第三個時間是讀寫時間,這是前端等待后端處理時間,這是導致504 Gateway time-out的根本原因,出現這個錯誤,說明這個值太小,推薦不小于600s,服務器越差,那么設置得更長,保證處理完畢。

當我把這個文件設置好,重啟nginx和apache,再次更新文章,已經不會遇到這類錯誤,說明出錯原因不是nginx,而是前段和后端的通信時間太短。

另外,nginx還會有502錯誤,實際上原理是差不多的,同樣設置上面這部分文件,LNMPA組合依然是設置前后端的通信時間。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 新巴尔虎左旗| 宜宾县| 荆门市| 舟曲县| 枣强县| 应城市| 江阴市| 鸡泽县| 隆回县| 博野县| 麻城市| 上思县| 托克逊县| 得荣县| 曲麻莱县| 静安区| 登封市| 遂平县| 邛崃市| 潼南县| 德庆县| 来凤县| 讷河市| 洞口县| 沭阳县| 曲麻莱县| 松江区| 申扎县| 定南县| 涞源县| 山阴县| 安溪县| 福州市| 菏泽市| 普陀区| 昌宁县| 鄢陵县| 太原市| 湖南省| 北海市| 都兰县|