我正在使用CentOS 6.4(x86)VPS和Nginx。許多php-fpm:池www進程正在運行,但Apache不是
在Webmin運行進程表我發現多達8個「php-fpm:pool www」正在運行的進程「Apache」是所有者,但Apache沒有運行!
這會消耗大量的RAM內存。 nginx作業是否需要?對不起,這個(愚蠢?)的問題,但我是服務器管理新手。
預先感謝您。
我正在使用CentOS 6.4(x86)VPS和Nginx。許多php-fpm:池www進程正在運行,但Apache不是
在Webmin運行進程表我發現多達8個「php-fpm:pool www」正在運行的進程「Apache」是所有者,但Apache沒有運行!
這會消耗大量的RAM內存。 nginx作業是否需要?對不起,這個(愚蠢?)的問題,但我是服務器管理新手。
預先感謝您。
處理正在運行,將不會被浪費。
應該在您的PHP-FPM配置文件中定義的第一件事之一是用戶和組PHP-FPM應該運行在什麼位置。
推測你的配置文件說要在用戶'Apache'下運行PHP-FPM。您可以將其更改爲任何您喜歡的內容,只要您獲得PHP-FPM訪問您的PHP文件的權限即可。
但是,如果PHP-FPM佔用大量內存,那麼您應該調整池數量以及每個內存可以使用多少內存的值。特別是你可以減少這些設置:
pm.start_servers = 4
pm.min_spare_servers = 2
沒有儘可能多的PHP-FPM進程在沒有負載時處於閒置狀態。
當沒有交通。當php-fpm處理消耗大量內存(每個進程超過256m)時,請調查原因,同時將pm.maxrequests設置爲較低的值。 – Melvyn
PHP-FPM擁有自己獨立的進程管理器,實際上並沒有連接到除本身之外的其他任何東西。其他軟件將連接到它,IE:nginx/apache。由於您的池配置,您可能會看到運行該進程的「Apache」用戶。您可以輕鬆更改配置,然後重新啓動FPM過程。
如果您不希望在未使用過程時運行過期的進程,那麼我建議您將池配置中的PM選項從靜態/動態更改爲按需。這樣,FPM只會在需要時進行緩衝。
許多人使用靜態/動態選項時,他們正在運行的進程需要特定的變化,IE瀏覽器:一個網站,接收大量的持續流量。
根據您的FPM安裝,您通常會在/ etc/php中找到配置。我把我的配置保存在/ usr/local/etc/php-fpm /或/usr/local/etc/fpm.d/
如果nginx使用的是php-fpm,那麼它需要 – Strik3r