nginx 504 timeout問題的解決,drupal nginx 504錯誤
瀏覽量: 次 發布日期:2023-08-11 21:12:24
nginx 504 timeout問題的解決,drupal nginx 504錯誤
前一陣在筆記本電腦上試驗lnmp 并打算作為以后的主要的開發和運行環境,用一個drupal架構的項目做實驗,
兆柏數據恢復公司期間發現很多問題,但都能很容易的修復解決,可是在導入中文翻譯的時候出現了504 connect timeout
下面是嘗試解決的經過:
首先重試幾次,判斷一下這是不是個例,如果重試正常那么可能本身環境的問題不大
但是重試多次都是504 錯誤
下面檢查 nginx 作為代理,首先檢查nginx的問題,由于nginx是默認編譯的,我沒有做參數的設置,所以
修改fastcgi 的常見timeout 都改為300 ,并且把php-fpm.conf的timeout 也修改為300 ,php.ini中的最大執行時間
也修改為300,重新啟動這些服務,再次執行 依然是504錯誤,查找了一些資料說可能是fastcgi buffer的大小不合適,
繼續調大,執行依然是504
通過瀏覽器查看network ,超時是在5分鐘,所以代理服務器nginx 完成了自己的服務,再次修改php-fpm.conf 啟動慢執行
日志,查看也是執行到300 保錯,這證明php也是按配置執行。兆柏數據恢復公司
這問題是出在哪里:
再有可能就是數據庫,難道是數據庫出現的問題,查看my.cnf 發現innodb 的配置都是默認關閉的,原來安裝好mysql后我沒有做
其他的設置,好,下面開啟并修改一下mysql的配置,特別是 innodb_flush_log_at_trx_commit 這一項,對于innodb 影響很大,項目本身
不是很看重事務性,所有把這個數字修改成2,重啟mysql,再次執行導入,就可以正常導入了。
兆柏數據恢復公司由此可見,導致nginx出現504的錯誤,不光在于后臺程序,當然把數據庫操作看作是后臺也不是沒有這樣的,這里只是我解決這個問題
的一些思路和方式,回想不知道哪位前人說過的“php 大部分執行時間 都是在等待mysql返回數據 。。。”
轉載請注明本文鏈接:http://www.simapple.com/230.html