當前位置:編程學習大全網 - 源碼下載 - 從剛剛「簡書」平臺的短暫異常,談Nginx An error occurred報錯~

從剛剛「簡書」平臺的短暫異常,談Nginx An error occurred報錯~

An error occurred.

Sorry, the page you are looking for is currently unavailable.

Please try again later.

If you are the system administrator of this resource then you should check theerror log for details.

Faithfully yours, nginx.

如上,剛老徐正打算上平臺,寫文章,出現如上錯誤,應該持續了幾分鐘~不知道有多少用戶有感知,平臺響應還不錯,幾分鐘後已恢復正常~

壹般nginx的此類報錯,原因如下(當然,老徐對nginx了解不深,如下都是壹些可能原因)

出現問題,首先是去分析nginx的日誌,得到壹些線索~

可能的常見原因:

/ 1 /

很明顯這是壹個nginx的錯誤,查看nginx.conf的文件過程中分析可能是以下的問題,在nginx.xml中有如下配置:

標紅的部分是很大的嫌疑,恰好應用中在提交數據的壹瞬間和服務器有多次交互,這些交互都要過nginx。再加上用戶IP來做key,假如多個用戶訪問在網上的最後壹跳是同壹個路由器,很顯然會被服務器當成是壹臺電腦,從而出現判斷錯誤。那麽又壹個新問題來了,出現503錯誤後為啥返回的是那個錯誤頁面呢?

帶著這個問題在nginx.conf中又發現了壹段配置,如下圖:

這個配置的意思是當出現500、502、503、504的錯誤時返回50x.html頁面,這個頁面在nginx安裝目錄的html文件夾下,內容如下:

這個頁面經過瀏覽器解析就是開頭第壹幅圖的樣子。

分析到這裏,就大概估計出原因了,把之前的rate值該大壹點即可。那麽到底改多大?這個要根據不同的業務而定,甚至去掉這個配置,所以這個是個經驗值,通過多次試驗可以得到壹個相對於應用合理的值,這裏就不說了。

實際nginx出現這個錯誤原因應該有很多,這裏提供壹種可能原因,以供網友參考。

/ 2 /

日誌記錄中HTTP狀態碼出現499錯誤有多種情況,我遇到的壹種情況是nginx反代到壹個永遠打不開的後端,就這樣了,日誌狀態記錄是499、發送字節數是0。

老是有用戶反映網站系統時好時壞,因為線上的產品很長時間沒有修改,所以前端程序的問題基本上可以排除,於是就想著是Get方式調用的接口不穩定,問了相關人員,說沒有問題,為了拿到確切證據,於是我問相關人員要了nginx服務器的日誌文件(awstats日誌),分析後發現日誌中很多錯誤碼為499的錯誤,約占整個日誌文件的1%,而它只占全部報錯的70%左右(全部報錯見下圖),那麽所有報錯加起來就要超過1%了,這個量還是特別大的。

499錯誤是什麽?讓我們看看NGINX的源碼中的定義:

ngx_string(ngx_/2008/12/27/talk-about-rc-local.html的《 說說? /etc/rc.d/rc.local 》

找到:

/usr/local/php/sbin/php-fpm start,首先什麽是php-fpm呢?

就是FastCGI Process Manager,是壹種可選的PHP FastGCI執行模式,有壹點很有特點的應用,尤其是壹個繁忙的網站中:

(1)可適應的進行再生(NEW!)

(2)基本的統計功能(Apache's mod_status)

(3)高級進程管理功能,能夠優雅的停止/開始

(4)能夠使用不同的工作用戶和不同的php.ini

(5)輸入,輸出日誌記錄...

開啟後,壹切恢復正常!自己的服務器端技術還是有很多地方使用的不夠。需要多學習使用!

總結:

1、試檢查壹下nginx.conf的設置,是不是有limit的設置,比如limit_zone、limit_conn,這些參數也是有影響的。

2、檢查壹下防火墻,是不是有相關的設置限制。

3、檢查壹下nginx.conf的設置,看看有沒有valid_referers none blocked的防鏈設置。

4、看下訪問靜態文件是否正常,錯誤排除~

OK,如上只是壹些猜測~

具體原因,具體分析~

越來越多的系統,采用nginx,大家有必要了解些nginx的知識~

  • 上一篇:it行業有哪些職位?
  • 下一篇:錄像的意思是什麽
  • copyright 2024編程學習大全網