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

歡迎來到云服務器

服務器租用

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

414 Request-URI Too Large

#客戶端請求頭緩沖區(qū)巨細,假如請求頭總長度大于小于128k,則利用此緩沖區(qū),
#請求頭總長度大于128k時利用large_client_header_buffers配置的緩存區(qū)
client_header_buffer_size 128k;
#large_client_header_buffers 指令參數(shù)4為個數(shù),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中的其他參數(shù)的size一般較量牢靠,只有cookie大概被寫入較大的數(shù)據(jù)

場景2.請求參數(shù)太長,好比宣布一個文章正文,用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。

辦理步伐:這時可以調(diào)大上述兩個值。

client_header_buffer_size 512k;
large_client_header_buffers 4 512k;

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

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

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

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

終于有一天我煩了,不就是處理懲罰php嗎,我不消apache總行了吧,,一怒之下利用源安裝php-fpm轉(zhuǎn)移到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,問題沒有了,網(wǎng)站可以會見了。

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

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

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

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

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

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

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

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

騰訊云代理

Copyright © 2003-2021 MFISP.COM. 國外vps服務器租用 夢飛云服務器租用 版權所有 ? 粵ICP備11019662號

主站蜘蛛池模板: 龙门县| 湘潭县| 拉萨市| 绥棱县| 凤庆县| 洛川县| 望城县| 克东县| 盖州市| 宁强县| 徐汇区| 津市市| 磐石市| 米易县| 延津县| 边坝县| 怀柔区| 宁化县| 桂阳县| 东丽区| 锡林浩特市| 涿州市| 柏乡县| 沾化县| 蓬溪县| 比如县| 柳江县| 德昌县| 新津县| 咸丰县| 黎川县| 青阳县| 东乡县| 铁力市| 涞源县| 博乐市| 乐平市| 朝阳市| 屏山县| 怀仁县| 隆回县|