Linux
如何找出我的 php5-fpm 無法啟動的原因?
當我嘗試訪問我的伺服器時,我得到 504 網關超時。
一個小檢查沒有在 php5-fpm 日誌上找到任何日誌,但為了確保,我嘗試重新啟動它。
當我試圖重新啟動它時:
sudo service php5-fpm restart
我明白
[fail]
了,但是當我這樣做時sudo service php5-fpm stop sudo service php5-fpm start
我沒有錯誤。
如果沒有日誌,我該如何調查?我能做些什麼?
您是否檢查了您的error_log文件中的php-fpm?該文件的位置應在您的php-fpm.conf中聲明(在 Ubuntu 配置中為 /etc/php5/fpm/php-fpm.conf,日誌文件為 /var/log/php5-fpm/log),還要檢查您的log_level,如果禁用 (;log_level),請啟用它並將其更改為debug。之後嘗試重新啟動 php5-fpm 服務並檢查您的日誌。
您也可以嘗試在前台模式下執行 php5-fpm:
# php5-fpm -y /etc/php5/fpm/php-fpm.conf
也許這會告訴你一些有趣的事情。
標準故障排除程序:
- 檢查日誌文件。如果您不知道它在哪裡,請檢查配置或確定使用 找到 pid
ps aux | grep php-fpm
,然後執行lsof -p $PID | grep log
(如果沒有顯示,請省略 grep)。- 99% 的時間日誌文件會告訴你原因。如果沒有,請在配置中查找日誌記錄級別,提高它並重試。
- 也許它會立即退出,您無法讓 PID 來檢查程序。您也可以嘗試在前台啟動程序,但這意味著要弄清楚您需要使用哪些命令行開關。通常你只需要將它指向你現有的配置。
- 如果日誌文件或 stdout/stderr (前台輸出)都不包含任何線索,那麼該是 strace 的時候了……但那是另一篇文章。