久久精品精选,精品九九视频,www久久只有这里有精品,亚洲熟女乱色综合一区
    分享

    Nginx常見錯誤與解決方法

     博雅書屋lhs 2016-01-05

      又色又爽又黄的视频网站 国产精品视频第一专区 久久国产精品99精品国产 欧美福利电影A在线播放 91毛片网 日本精品中文字幕在线不卡 国产精品夜夜春夜夜爽久久小说 av中文无码韩国亚洲色偷偷 国产女人在线 久久乐国产精品亚洲综合 主站蜘蛛池模板: 日日噜噜夜夜狠狠视频| 亚洲午夜性猛春交XXXX| 麻豆最新国产AV原创精品| 精品少妇人妻AV无码久久| 青青草无码免费一二三区| 女人被黑人躁得好爽视频| 无套内射视频囯产| 人妻影音先锋啪啪AV资源| 亚洲av午夜成人片| 国产肉丝袜在线观看| 中文有无人妻vs无码人妻激烈| 国产好大好硬好爽免费不卡 | 精品久久人人做爽综合| 麻花传媒免费网站在线观看| 五月丁香啪啪| 无码熟妇人妻AV影音先锋| 2021国产成人精品久久| 做暖暖视频在线看片免费 | 中文字幕理伦午夜福利片| 在线国产精品中文字幕| 又色又爽又黄的视频网站 | 国产不卡一区二区精品| 久久精品国产免费观看三人同眠| 国产熟睡乱子伦视频在线播放| 国产精品无码不卡一区二区三区| 久久精品第九区免费观看| 国产成人精品午夜福利| 午夜福利试看120秒体验区| 麻豆亚洲精品一区二区| 无码人妻少妇色欲AV一区二区| 特级欧美AAAAAAA免费观看| 久久中文字幕一区二区| 无码国产精品一区二区免费模式 | 少妇厨房愉情理9仑片视频| 日韩有码精品中文字幕| 亚洲高清揄拍自拍| 亚洲人成网站免费播放| 午夜福利在线观看6080| 国99久9在线 | 免费| 麻豆1区2产品乱码芒果白狼在线| 欧美大屁股流白浆XXXX|

      目的:

      Nginx服務器出現故障時,能快速定位并解決相關錯誤。

       

      保密:

      本文檔僅供內部使用,請勿外傳

       

      概述:

      Nginx常見錯誤與問題之解決方法技術指南。

       

      安裝環境:

      系統環境:redhat enterprise 6.5 64bit

       

       

       

       

       

       

       

       

       

       

       

       

       

      1Nginx 常見啟動錯誤

       

      有的時候初次安裝nginx的時候會報這樣的錯誤

       

      sbin/nginx -c conf/nginx.conf

       

      報錯內容:sbin/nginx: error while loading shared libraries: libpcre.so.1:

      cannot open shared object file: No such file or directory

       

      啟動時如果報異常error while loading shared libraries: libpcre.so.1: cannot open

      shared object file: No such file or directory 這說明我們的環境還不是和啟動需要

      小小的配置一下

      解決方法(直接運行)

      32位系統 [root@sever lib]# ln -s /usr/local/lib/libpcre.so.1 /lib

      64位系統 [root@sever lib]# ln -s /usr/local/lib/libpcre.so.1 /lib64

       

      然后執行ps -ef | grep nginx 查看nginx進程確認是否真的已經啟動了,在進程列表里會

      有最起碼兩個, worker(nginx工作進程)masternginx主進程)

       

      root 4349 1 0 02:24 ? 00:00:00 nginx: master process sbin/nginx -c

      conf/nginx.conf

      nginx 4350 4349 0 02:24 ? 00:00:00 nginx: worker process

      root 4356 28335 0 02:30 pts/1 00:00:00 grep nginx

       

      NGINX OK

       

      2400 bad request錯誤的原因和解決辦法

       

      配置nginx.conf相關設置如下.

       

      client_header_buffer_size 16k;

      large_client_header_buffers 4 64k;

       

      根據具體情況調整,一般適當調整值就可以。

       

      3Nginx 502 Bad Gateway錯誤

       

      php.iniphp-fpm.conf中分別有這樣兩個配置項:max_execution_timerequest_terminate_timeout

      這兩項都是用來配置一個PHP腳本的最大執行時間的。當超過這個時間時,PHP-FPM不只會終止腳本的執行,

      還會終止執行腳本的Worker進程。所以Nginx會發現與自己通信的連接斷掉了,就會返回給客戶端502錯誤。

       

      PHP-FPMrequest_terminate_timeout=30秒時為例,報502 Bad Gateway錯誤的具體信息如下:

      1Nginx錯誤訪問日志:

           2013/09/19 01:09:00 [error] 27600#0: *78887 recv() failed (104: Connection reset by peer) while reading response header from upstream, 

           client: 192.168.1.101, server: , request: "POST /index.php HTTP/1.1", upstream: "fastcgi://unix:/dev/shm/php-fcgi.sock:", 

           host: "", referrer: "http:///index.php"


      2
      PHP-FPM報錯日志:
           WARNING:  child 25708 exited on signal 15 (SIGTERM) after 21008.883410 seconds from start

       

      所以只需將這兩項的值調大一些就可以讓PHP腳本不會因為執行時間長而被終止了。request_terminate_timeout可以覆蓋max_execution_time

      所以如果不想改全局的php.ini,那只改PHP-FPM的配置就可以了。

       

      此外要注意的是Nginxupstream模塊中的max_failfail_timeout兩項。有時Nginx與上游服務器(如TomcatFastCGI)的通信只是偶然斷掉了,

      max_fail如果設置的比較小的話,那么在接下來的fail_timeout時間內,Nginx都會認為上游服務器掛掉了,都會返回502錯誤。

      所以可以將max_fail調大一些,將fail_timeout調小一些。

       

      4Nginx出現的413 Request Entity Too Large錯誤

       

      這個錯誤一般在上傳文件的時候會出現,

       

      編輯Nginx主配置文件Nginx.conf,找到http{}段,添加

       

      client_max_body_size 10m; //設置多大根據自己的需求作調整.

       

      如果運行php的話這個大小client_max_body_size要和php.ini中的如下值的最大值一致或

      者稍大,這樣就不會因為提交數據大小不一致出現的錯誤。

       

      post_max_size = 10M

      upload_max_filesize = 2M

       

      5、解決504 Gateway Time-out(nginx)

       

      遇到這個問題是在升級discuz論壇的時候遇到的一般看來, 這種情況可能是由于nginx默認的

       

      fastcgi進程響應的緩沖區太小造成的, 這將導致fastcgi進程被掛起, 如果你的fastcgi服務

       

      對這個掛起處理的不好, 那么最后就極有可能導致504 Gateway Time-out,現在的網站, 尤其某

       

      些論壇有大量的回復和很多內容的, 一個頁面甚至有幾百K。默認的fastcgi進程響應的緩沖區

       

      8K, 我們可以設置大點在nginx.conf, 加入: fastcgi_buffers 8 128k這表示設置

       

      fastcgi緩沖區為8×128

       

      當然如果您在進行某一項即時的操作, 可能需要nginx的超時參數調大點,例如設置成90秒:

       

      send_timeout 90;只是調整了這兩個參數, 結果就是沒有再顯示那個超時, 效果不錯

       

      Nginx中關于與上游服務器通信超時時間的配置factcgi_connect/read/send_timeout

       

      Nginx超時時間為90秒,PHP-FPM超時時間為300秒為例,報504 Gateway Timeout錯誤時的Nginx錯誤訪問日志如下:

           2013/09/19 00:55:51 [error] 27600#0: *78877 upstream timed out (110: Connection timed out) while reading response header from upstream, 

           client: 192.168.1.101, server: , request: "POST /index.php HTTP/1.1", upstream: "fastcgi://unix:/dev/shm/php-fcgi.sock:", 

           host: "", referrer: "http:///index.php"

       

      調高這三項的值(主要是readsend兩項,默認不配置的話Nginx會將超時時間設為60秒)之后,504錯誤也解決了。

      而且這三項配置可以配置在httpserver級別,也可以配置在location級別。擔心影響其他應用的話,就配置在自己應用的location中吧。

      要注意的是factcgi_connect/read/send_timeout是對FastCGI生效的,而proxy_connect/read/send_timeout是對proxy_pass生效的。