nginx安裝wordpress 502 Bad Gateway

來源:互聯網
上載者:User

   首先是更改php-fpm的幾處配置:

  /www/wdlinux/php/etc/php-fpm.conf

  /www/wdlinux/etc/php-fpm.conf 把max_children由之前的10改為現在的30,這樣就可以保證 有充足的php-cgi進程可以被使用;

  把request_terminate_timeout由之前的0s改為60s,這樣php-cgi進程 處理指令碼的逾時時間就是60秒,可以防止進程都被掛起,提高利用效率。

  開啟 /usr/local/php/etc/php-fpm.conf

  調大以下兩個參數(根據伺服器實際情況,過大也不行)

  5120

  600

  504 timeout

  send_timeout 60;

  fastcgi_buffers 8 128k;

  在/www/wdlinux/nginx/conf/nginx.conf

  裡增加和調整下這兩個參數試試,附其它解決方案

  一、fastcgi緩衝區設定過小

  出現錯誤,首先要尋找nginx的記錄檔,目錄為/var/log/nginx,在日誌中發現了如下錯誤。

  2013/01/17 13:33:47 [error] 15421#0: *16 upstream sent too big header while reading response header from upstream

  查閱了一下資料,大意是nginx緩衝區有一個bug造成的,我們網站的頁面消耗佔用緩衝區可能過大。

  網上尋找了一下解決方案,在國外網站看到了一個增加緩衝區的方法,徹底解決了Nginx 502 Bad Gateway的問題。方法如下:

  http {

  ...

  fastcgi_buffers 8 16k;

  fastcgi_buffer_size 32k;

  ...

  }

  請根據伺服器已經網站的情況自行增大上述兩個配置項。

  二、代理緩衝區設定過小

  如果你使用的是nginx反向 Proxy,如果header過大,超出了預設的1k,就會引發上述的upstream sent too big header (說白了就是nginx把外部請求給後端處理,後端返回的header太大,nginx處理不過來就會導致502。

  server {

  listen 80;

  server_name *.lxy.me;

  location / {

  ###############添加這3行

  proxy_buffer_size 64k;

  proxy_buffers 32 32k;

  proxy_busy_buffers_size 128k;

  ###############添加這3行

  proxy_set_header Host $host;

  proxy_set_header X-Real-IP $remote_addr;

  proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

  ............

  }

  三、預設php-cgi的進程數設定過少

  在安裝好使用過程中出現502問題,一般是因為預設php-cgi進程是5個,可能因為phpcgi進程不夠用而造成502,需要修改/usr/local/php/etc/php-fpm.conf 將其中的max_children值適當增加。也有可能是max_requests值不夠用。需要說明的是這連個配置項佔用記憶體很大,請根據伺服器配置進行設定。否則可能起到反效果。

  四、php執行逾時 www.111cn.net

  php執行逾時,修改/usr/local/php/etc/php.ini 將max_execution_time 改為300

  五、nginx等待時間逾時

  部分PHP程式的執行時間超過了Nginx的等待時間,可以適當增加nginx.conf設定檔中FastCGI的timeout時間

  http {

  fastcgi_connect_timeout 300;

  fastcgi_send_timeout 300;

  fastcgi_read_timeout 300;

  ......

  }

相關文章

Cloud Intelligence Leading the Digital Future

Alibaba Cloud ACtivate Online Conference, Nov. 20th & 21st, 2019 (UTC+08)

Register Now >

Starter Package

SSD Cloud server and data transfer for only $2.50 a month

Get Started >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。