Làm thế nào tôi có thể tìm ra lý do tại sao php5-fpm của tôi không khởi động được?


10

Tôi nhận được 504 cổng thời gian chờ khi tôi cố gắng truy cập máy chủ của mình, một kiểm tra nhỏ không tìm thấy bất kỳ nhật ký nào trên nhật ký php5-fpm, nhưng để đảm bảo, tôi đã cố gắng khởi động lại nó. Khi tôi đang cố gắng khởi động lại nó:

sudo service php5-fpm restart

tôi nhận [fail] nhưng khi tôi làm

sudo service php5-fpm stop
sudo service php5-fpm start

Tôi không nhận được lỗi.

Làm thế nào tôi có thể điều tra nó nếu không có nhật ký? tôi có thể làm gì?

Câu trả lời:


17

Bạn đã kiểm tra tệp error_log của mình cho php-fpm chưa? Vị trí của tệp đó phải được khai báo trong php-fpm.conf của bạn (trong cấu hình Ubuntu là /etc/php5/fpm/php-fpm.conf, tệp nhật ký là / var / log / php5-fpm / log), cũng kiểm tra log_level , nếu bị vô hiệu hóa (; log_level), vui lòng kích hoạt nó và thay đổi nó để gỡ lỗi . Sau đó, thử khởi động lại dịch vụ php5-fpm và kiểm tra nhật ký của bạn.

Bạn cũng có thể thử chạy php5-fpm ở chế độ nền trước:

# php5-fpm -y /etc/php5/fpm/php-fpm.conf

Có lẽ điều này cho bạn thấy một cái gì đó thú vị.


1
Trong trường hợp của tôi, lệnh này đã khởi động php5-fpm trong khi service php5-fpm startkhông. Cảm ơn!
David Thomas

Davis, nó dường như làm việc cho tôi +1! Nhưng .. bị kẹt đã cho tôi giải pháp, tôi thấy một số lỗi +1! cảm ơn tất cả!
Tenacityd93

Nếu bạn bắt đầu FPM bằng cách sử dụng một công việc mới bắt đầu, thì nhật ký khởi động php-fpm sẽ được ghi vào / var / log / upstart /
Ashwin Ngày

Để sử dụng php7.0php-fpm7.0 -F -c /etc/php/7.0/fpm/php-fpm.conf
Yadvendar

4

Quy trình xử lý sự cố tiêu chuẩn:

  • Kiểm tra tệp nhật ký. Nếu bạn không biết nó đang kiểm tra cấu hình ở đâu hoặc để tìm ra một số thứ nhất định ps aux | grep php-fpm, hãy làm điều đó lsof -p $PID | grep log(bỏ qua grep nếu nó không hiển thị gì).
  • 99% các tệp nhật ký thời gian sẽ cho bạn thấy nguyên nhân. Nếu không, hãy tìm một mức ghi nhật ký trong cấu hình, nâng nó lên và thử lại.
  • Có lẽ nó thoát ngay lập tức và bạn không thể yêu cầu PID kiểm tra quy trình. Bạn cũng có thể thử bắt đầu quá trình ở nền trước, nhưng điều này có nghĩa là tìm ra công tắc dòng lệnh nào bạn cần sử dụng. Thông thường bạn chỉ cần trỏ nó vào cấu hình hiện tại của bạn.
  • Nếu cả tệp nhật ký hoặc thiết bị xuất chuẩn / thiết bị xuất chuẩn (đầu ra tiền cảnh) không chứa bất kỳ manh mối nào thì đó là thời gian để sải bước ... nhưng đó là một bài viết khác.

+1 cách hay để tìm tệp nhật ký!
deweydb

3

Ghi chú này đã giúp tôi: https://bugs.launchpad.net/nginx/+orms/1366651

Trong trường hợp của tôi, việc cập nhật lên nginx> 1.6.1, các tham số được truyền cho php5-fpm được đặt trong fastcgi.conf thay vì trong fastcgi_params, dẫn đến PHP luôn trả về 200 (ok), nhưng không bao giờ có bất kỳ nội dung nào, bởi vì SCRIPT_FILENAME không còn được đặt.

Tôi hy vọng nó cũng giúp người khác.


2

Đối với tôi, vấn đề là php-fpm.conftệp của tôi không sử dụng tên tệp cấu hình mặc định - nó được đặt tên /etc/php5/fpm/php5-fpm.conf( php5-fpm.confvs php-fpm.conf)

php5-fpm -t  

[26-Jul-2014 22:39:16] ERROR: failed to open configuration file '/etc/php5/fpm/php-fpm.conf': No such file or directory (2)
[26-Jul-2014 22:39:16] ERROR: failed to load configuration file '/etc/php5/fpm/php-fpm.conf'
[26-Jul-2014 22:39:16] ERROR: FPM initialization failed

Tôi đã đổi tên tập tin conf thành php-fpm.confvà nó đã khắc phục vấn đề.

sudo mv /etc/php5/fpm/php5-fpm.conf /etc/php5/fpm/php-fpm.conf
sudo service php5-fpm restart
 * Restarting PHP5 FastCGI Process Manager php5-fpm                                                                           [ OK ]

0

Tôi gặp phải sự cố không có tệp nhật ký này sau đó nhận thấy rằng tôi đang truy cập URL qua HTTPS thay vì HTTP và giao thức đó chưa được thiết lập trong Nginx nên PHP5-FPM không nhận được lưu lượng truy cập.

Có thể giúp ai đó.


0

Có thể xảy ra rằng trên một bản nâng cấp Ubuntu, gói php5-fpm bị gỡ cài đặt vì php 7 sử dụng php-fpm thay thế. Hãy thử chạy nó trên bàn điều khiển:

php5-fpm

Nếu nó không tồn tại, có lẽ bạn đã sử dụng php 7 rồi, vì vậy hãy cài đặt

apt-get install php-fpm

sẽ cài đặt phiên bản php7

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.