2013-06-05 64 views
1

我正在使用CentOS 6.4(x86)VPS和Nginx。許多php-fpm:池www進程正在運行,但Apache不是

在Webmin運行進程表我發現多達8個「php-fpm:pool www」正在運行的進程「Apache」是所有者,但Apache沒有運行!

這會消耗大量的RAM內存。 nginx作業是否需要?對不起,這個(愚蠢?)的問題,但我是服務器管理新手。

預先感謝您。

+0

如果nginx使用的是php-fpm,那麼它需要 – Strik3r

回答

2

處理正在運行,將不會被浪費。

應該在您的PHP-FPM配置文件中定義的第一件事之一是用戶和組PHP-FPM應該運行在什麼位置。

推測你的配置文件說要在用戶'Apache'下運行PHP-FPM。您可以將其更改爲任何您喜歡的內容,只要您獲得PHP-FPM訪問您的PHP文件的權限即可。

但是,如果PHP-FPM佔用大量內存,那麼您應該調整池數量以及每個內存可以使用多少內存的值。特別是你可以減少這些設置:

pm.start_servers = 4 
pm.min_spare_servers = 2 

沒有儘可能多的PHP-FPM進程在沒有負載時處於閒置狀態。

+0

當沒有交通。當php-fpm處理消耗大量內存(每個進程超過256m)時,請調查原因,同時將pm.maxrequests設置爲較低的值。 – Melvyn

0

PHP-FPM擁有自己獨立的進程管理器,實際上並沒有連接到除本身之外的其他任何東西。其他軟件將連接到它,IE:nginx/apache。由於您的池配置,您可能會看到運行該進程的「Apache」用戶。您可以輕鬆更改配置,然後重新啓動FPM過程。

如果您不希望在未使用過程時運行過期的進程,那麼我建議您將池配置中的PM選項從靜態/動態更改爲按需。這樣,FPM只會在需要時進行緩衝。

許多人使用靜態/動態選項時,他們正在運行的進程需要特定的變化,IE瀏覽器:一個網站,接收大量的持續流量。

根據您的FPM安裝,您通常會在/ etc/php中找到配置。我把我的配置保存在/ usr/local/etc/php-fpm /或/usr/local/etc/fpm.d/

相關問題