欧美一区2区三区4区公司二百,国产精品婷婷午夜在线观看,自拍偷拍亚洲精品,国产美女诱惑一区二区

歡迎來到夢飛科技

服務器租用

當前優惠活動:

Nginx處事器中的414錯誤和504錯誤的辦理要領

414 Request-URI Too Large

#客戶端請求頭緩沖區巨細,假如請求頭總長度大于小于128k,則利用此緩沖區,
#請求頭總長度大于128k時利用large_client_header_buffers配置的緩存區
client_header_buffer_size 128k;
#large_client_header_buffers 指令參數4為個數,128k為巨細,默認是8k。申請4個128k。
large_client_header_buffers 4 128k;

當http 的URI太長可能request header過大時會報414 Request URI too large或400 bad request錯誤。

大概原因

場景1.cookie中寫入的值太大造成的,因為header中的其他參數的size一般較量牢靠,只有cookie大概被寫入較大的數據

場景2.請求參數太長,好比宣布一個文章正文,用urlencode后,利用get方法傳到靠山。

GET http://www.264.cn/ HTTP/1.1
Host: www.264.cn
Connection: keep-alive
Cache-Control: max-age=0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
User-Agent: Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.31
Accept-Encoding: gzip,deflate,sdch
Accept-Language: zh-CN,zh;q=0.8
Accept-Charset: GBK,utf-8;q=0.7,*;q=0.3
Cookie: bdshare_firstime=1363517175366;
If-Modified-Since: Mon, 13 May 2013 13:40:02 GMT

當請求頭過大時,高出large_client_header_buffer時,
nginx大概返回"Request URI too large" (414)可能"Bad-request"(400)錯誤,

如上例HTTP請求頭由多行組成,
個中"GET http://www.264.cn/ HTTP/1.1"暗示Request line

當Request line的長度大于large_client_header_buffer的一個buffer(128k)時,nginx會返回"Request URI too large" (414)錯誤,對應上面的場景2。

請求投中最長的一行也要小于large_client_header_buffer,當不是Request line的最長行大于一個buffer(128k)時,會返回"Bad-request"(400)錯誤,對應上面的場景1。

辦理步伐:這時可以調大上述兩個值。

client_header_buffer_size 512k;
large_client_header_buffers 4 512k;

504 Gateway Time-out
之前網站一直是利用nginx做署理后端的apache運行php來提供處事。

apache常常會不按期不按時間的呈現不能處事失去響應,然后nginx呈現"504 Gateway Time-out"

查察錯誤日志也看不到任何對象,覺得是apache的bug(其實不是,下面會說原因)。

也許年數大了人就不愛折騰,愿意保持原狀不動,利用監控東西,每次收到報警后都從頭啟動apache委曲維持著。

終于有一天我煩了,不就是處理懲罰php嗎,我不消apache總行了吧,,一怒之下利用源安裝php-fpm轉移到php-fpm來運行php。

安裝php并不貧苦,利用源安裝照舊很順利的,獨一需要做的就是配置php worker事情歷程的日志輸出php錯誤日志。

 

一切籌備停當后把本來的proxy_pass換成fastcgipass就可以了。

 

upstream apachephp {
  server www.quancha.cn:8080; #Apache1
}
....
proxy_pass http://apachephp;

替換成成

upstream php {
    server 127.0.0.1:9000;
}
...
fastcgi_pass php;

就可以把apache上跑的php遷移到php-fpm上來跑。

原覺得這樣就可以安枕無憂了,遷移完成是也確實沒什么問題,可是假如你不去闡明問題的基礎原因在哪。

問題照舊會找上門來,第二天nginx又報了504的gateway timeout。

這回沒apache什么事了吧,apache總算撇清了干系。

那應該照舊在nginx和php-fpm身上,查察nginx的錯誤日志,可以看到

[error] 6695#0: *168438 upstream timed out (110: Connection timed out) while reading response header from upstream,
...
request: "GET /kd/open.php?company=chinapost&number=PA24977020344 HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", host: "www.quancha.cn"

看到這里根基上就解除了nginx嫌疑,nginx是在期待php處理懲罰"GET /kd/open.php?company=chinapost&number=PA24977020344 HTTP/1.1"超時退出了。

頓時重啟php-fpm,問題沒有了,網站可以會見了。

再次會見該頁面,依然沒有響應,但同時會見此外頁面正常,該頁面刷新屢次后,整個網站都是bad gateway timeout了。

問題就縮小到這個php劇本上了。

netstat -napo |grep "php5-fpm" | wc -l

查察php事情歷程已經到達了設置文件里的上限10,有種感受就是各人都被open.php這個劇本卡住了。

這個劇本是干什么的呢?這個劇本就是收羅快遞信息的,內里用到了php_curl。

PHP劇本假如執行時間高出php.ini中的設置項max_execution_time不出功效就會強制退出。

查察了php.ini中max_execution_time確實配了,值為30。

萬能google派上用場了,顛末不絕google后獲得下面這句話

夢飛科技 - 全球數據中心基礎服務領先供應商

Copyright © 2003-2019 MFISP.COM. 國外服務器租用 IDC公司 版權所有 ? 粵ICP備11019662號

主站蜘蛛池模板: 太湖县| 安泽县| 台南县| 团风县| 富裕县| 陕西省| 遵化市| 扶余县| 吉林市| 巴马| 鹤山市| 萍乡市| 中超| 息烽县| 宁安市| 太康县| 行唐县| 沾化县| 永胜县| 抚顺县| 利川市| 涟源市| 托克逊县| 梅河口市| 永顺县| 临夏县| 合水县| 鞍山市| 固镇县| 绥化市| 岱山县| 二连浩特市| 宜都市| 鹿邑县| 衡东县| 新河县| 陆川县| 古丈县| 马公市| 鹿邑县| 甘谷县|