Php

讓 PHP-FPM 在 ‘IPAddress:Port’ 而不是 ‘/var/run/php5-fpm.sock;’ 處監聽

  • January 5, 2017

今天我正在對我的網站進行負載測試(使用blitz.io);儘管有大量可用的 RAM(超過 50%)和 CPU 能力(超過 70%),但結果顯示我的網站以每秒一定數量的並髮使用者開始超時。

我網站的 Nginx 錯誤日誌(/var/log/nginx/example.com.error.log)顯示如下:

2013/02/12 19:03:57

$$ error $$13749#0: *3175 connect() to unix:/var/run/php5-fpm.sock 連接到上游時失敗(11:資源暫時不可用),客戶端:54.123.456.46,伺服器:example.com,請求:“ GET / HTTP/1.1”,上游:“fastcgi://unix:/var/run/php5-fpm.sock:”,主機:“example.com”

Google搜尋錯誤導致我得到這個答案,它指出使用 TCP\IP 連接而不是 unix 套接字作為問題的解決方案;正如 unix socket 的*“高負載情況下的問題是眾所周知的”*。

因此,正如答案所建議的:

  • 我替換listen = /var/run/php5-fpm.socklisten 127.0.0.1:9000/etc/php5/fpm/pool.d/www.conf
  • 由於我的/etc/nginx/php_location發行版(Debian Wheezy)上沒有,所以我什麼也沒做。
  • 由於我fastcgi_pass unix:/var/run/php5-fpm.sock;在我的站點的 Nginx 配置文件中使用,即 /etc/nginx/sites-available/example.com,我將其替換為fastcgi_pass 127.0.0.1:9000;

現在的問題是,502 Bad Gateway當我訪問我的網站時出現錯誤。是的,我做過reloadNginx 和 PHP-FPM。我究竟做錯了什麼?(這裡完全是新手,盡我所能邊做邊學。)

如果這是相關的,當我這樣做時sudo service php5-fpm restart,我會收到此錯誤:

[FAIL] Restarting PHP5 FastCGI Process Manager: php5-fpm failed!

這只是在我進行了上述更改之後才發生的。我怎樣才能解決這個問題?

如果我應該獲得更多資訊,請告訴我。


更新

該文件/etc/nginx/sites-available/default說:

#   # With php5-cgi alone:
#   fastcgi_pass 127.0.0.1:9000;

#   # With php5-fpm:
#   fastcgi_pass unix:/var/run/php5-fpm.sock;

那麼,這是否意味著,如果我的伺服器正在執行 PHP-FPM,它應該在沒有選擇的情況下使用/var/run/php5-fpm.sock

我使用$ sudo php5-fpm -t命令來測試 PHP-FPM 的設置是否正常(如果不是,它會顯示一些錯誤/資訊)。

因此,輸出如下所示:

[13-Feb-2013 18:35:00] ERROR: [/etc/php5/fpm/pool.d/www.conf:33] value is NULL for a ZEND_INI_PARSER_ENTRY
[13-Feb-2013 18:35:00] ERROR: Unable to include /etc/php5/fpm/pool.d/www.conf from /etc/php5/fpm/php-fpm.conf at line 33
[13-Feb-2013 18:35:00] ERROR: failed to load configuration file '/etc/php5/fpm/php-fpm.conf'
[13-Feb-2013 18:35:00] ERROR: FPM initialization failed

錯誤說,第 33 行 of 有問題/etc/php5/fpm/pool.d/www.conf,恰好是這樣的:(listen 127.0.0.1:9000不是那麼巧合,是嗎?)。

看到之後,立馬和其他的行對比,然後就驚呆了,少了一個=(等號)!

所以,這就是它應該是的:listen = 127.0.0.1:9000這解決了一切!

引用自:https://serverfault.com/questions/478491