優化VestaCP phpfcgid模板配置進程多內存耗盡500錯誤

VestaCP 的WEB服務選擇“phpfcgid” 模板後,大量的PHP-CGI進程,造成內存很快被耗光:

  • 重新啟動服務器的幾個小時內,基本上一直處於內存不足的狀態。
  • 之前空閒的PHP-CGI進程沒有被殺死,1個進程運行近20個子進程,消耗至少100M的內存。

SSH 中使用 htop 命令(需安裝),可查看到此狀態 ▼

VestaCP 的WEB服務選擇“phpfcgid” 模板後,大量的PHP-CGI進程,造成內存很快被耗光第1張

如果你在使用htop 命令時,出現錯誤提示“-bash: htop: command not found”,解決方法請看這篇教程 ▼

大量的PHP-CGI進程,造成內存很快被耗光,問題就出在VestaCP在CentOS的的phpfcgid模板中,使用了未優化的配置。

  • VestaCP在phpfcgid模板中,設置1個PHP-CGI進程可以運行最多20個子進程。

請求 /usr/local/vesta/data/templates/web/httpd/phpfcgid.sh 文件的第13行:

export PHP_FCGI_CHILDREN=20

但是,這樣的設置違反了Apache在PHP子進程管理文檔中的警告:

PHP child process management (PHP_FCGI_CHILDREN) should always be disabled with mod_fcgid, which will only route one request at a time to application processes it has spawned; thus, any child processes created by PHP will not be used effectively. (Additionally, the PHP child processes may not be terminated properly .) By default, and with the environment variable setting PHP_FCGI_CHILDREN=0, PHP child process management is disabled.

因為在Apache的mod_fcgid模塊裡,PHP-CGI進程只能響應一個請求並一次運行,PHP-CGI子進程的效率非常低。

所以,應該直接禁用PHP子進程管理的設置 ▼

PHP_FCGI_CHILDREN=0

同時,如果你已經有生成的虛擬主機,則需要修改所有網站的配置文件 ▼

/home/用户名/web/域名/cgi-bin/fcgi-starter

打開 fcgi-starter 配置文件後,將以下內容▼

export PHP_FCGI_CHILDREN=20

修改成 ▼

export PHP_FCGI_CHILDREN=0
  • 修改後,PHP子進程管理將以mod_fcgid模式關閉。
  • PHP-CGI進程將不再生成子進程,這可以節省大量內存。

還有,VestaCP 沒有設置閒置進程的終止機制:

  • 所有新執行的PHP-CGI進程將繼續使用內存,直到系統重新啟動。

要解決這個問題,只需在mod_fcgid配置文件 /etc/httpd/conf.d/fcgid.conf 中添加以下設置 ▼

FcgidIdleTimeout 120
  • 將Apache設置為自動終止閒置2分鐘(120秒)的PHP-CGI進程。

設置完成後,重新啟動Apache服務 ▼

service httpd restart

在服務重新啟動後,之前HTOP中顯示的數百個PHP-CGI進程將不再顯示。

通常,單個Vesta CP用戶的單個PHP-CGI進程消耗30至40M內存,完全滿足Linux主機的需求。

因此,網絡營銷人想要做好SEO,對Vesta CP和模板的配置優化非常重要^_^

可以看看以下VestaCP面板的相關教程 ▼

希望陳溈亮博客( https://www.chenweiliang.com/ ) 分享的《優化VestaCP phpfcgid模板配置進程多內存耗盡500錯誤》,對您有幫助。

歡迎分享本文鏈接:https://www.chenweiliang.com/cwl-735.html

歡迎加入陳溈亮博客的Telegram 頻道,獲取最新更新!

🔔 率先在頻道置頂目錄獲取寶貴的《ChatGPT 內容行銷AI 工具使用指南》! 🌟
📚 這份指南蘊含價值巨大,🌟難逢的機遇,切勿錯失良機! ⏰⌛💨
喜歡就分享和按贊!
您的分享和按贊,是我們持續的動力!

 

發表評論

您的電子郵箱地址不會被公開。 必填項已用 * 標註

滾動到頂部