個人504錯誤排查


個人504錯誤排查

  1. 一般出現500錯誤是由於php的語法錯誤引起的,權限的問題也有可能,laravel里面的storage和bootstrao/cache里面的權限沒有修改就會500錯誤,其實都是php的語法問題,如果沒有顯示錯誤,可以嘗試設

    1. error_reporting(E_ALL)和ini_set(‘display_errors’,’on’); 

    一般的502錯誤,是有Bad Gate Way引起的.如果nginx 調用的是php_fpm.sock文件則需要nginx 需要對這個文件有讀寫的權限.

  2. 504錯誤一般是由於請求超時造成的,nginx請求9000端口 或者sock文件.然后等待進程的響應,如果進程沒有響應,則nginx 報504錯誤.

  3. 在lnmp環境下,php一般是獨立進程存在的,一般占用9000端口,當我們訪問一個主機的80端口的時候(nginx),nginx一般通過9000端口
    php-fpm來執行php文件,php然后執行一些mysql的工作,所以報了504錯誤,先檢查是不是靜態頁的問題,所以先讓nginx執行一個靜態文件,但是沒有問題,隨后,對mysql進行慢查詢檢查,發現也沒有可疑的查詢語句,然后對mysql進行錯誤的表進行查詢,發現同樣沒有可疑的.最后排查php-fpm是不是php文件執行的其他的操作,最后檢查到了QQ的第三方登錄出現問題,Fsocket后如果連接上了,但是fsocket只可以實現連接不上的時間處理,但是無法實現連接上了,但是沒有數據的返回的處理,所以要使用stream_s
    et_timeout來實現連接上了,沒有數據的返回,導致連續訪問php文件,導致的php-fpm一直在停留着,沒有多余的php-fpm來響應請求,而且內存也會被耗干.


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM