溫馨提示×

php-fpm進程管理Linux技巧有哪些

小樊
40
2025-09-06 13:00:21
欄目: 編程語言

以下是Linux下PHP-FPM進程管理的常用技巧:

一、基礎進程管理

  • 啟動/停止/重啟
    sudo systemctl start/stop/restart php-fpm  # systemd系統  
    sudo service php-fpm start/stop/restart    # init.d系統  
    
  • 查看狀態
    sudo systemctl status php-fpm              # 查看服務狀態  
    ps aux | grep php-fpm                      # 查看進程詳情  
    netstat -tuln | grep php-fpm               # 查看監聽端口  
    

二、配置優化

  • 調整進程池參數(關鍵參數):
    • pm.max_children:最大子進程數,根據服務器內存調整(建議不超過內存/200MB)。
    • pm.start_servers:啟動時的子進程數,建議設置為CPU核心數×2。
    • pm.min/max_spare_servers:空閑進程上下限,避免頻繁創建/銷毀進程。
    • request_terminate_timeout:單個請求超時時間,防止腳本長時間占用資源。
  • 啟用OPcache
    php.ini中配置,緩存編譯后的字節碼,顯著提升執行效率。

三、性能調優

  • 使用連接池:通過PDO或mysqli復用數據庫連接,減少連接開銷。
  • 限制資源使用
    • 通過ulimit -n增加文件描述符限制(默認1024可能不足)。
    • php-fpm.conf中設置rlimit_files限制進程最大文件打開數。
  • 異步處理:使用Swoole等擴展實現異步任務,提升并發能力。

四、監控與維護

  • 日志分析
    • 錯誤日志:/var/log/php-fpm/error.log(定位腳本錯誤)。
    • 慢日志:啟用slowlog參數記錄超時請求,優化性能瓶頸。
  • 實時監控工具
    • top/htop:查看CPU/內存占用。
    • php-fpm狀態頁:在配置中啟用pm.status_path,通過HTTP訪問實時數據。
  • 自動化運維
    • 使用Supervisor守護進程,防止意外退出。
    • 定期重啟PHP-FPM釋放內存(如通過Cron定時任務)。

五、安全配置

  • 限制文件訪問:通過open_basedir參數限制腳本可訪問的目錄。
  • 禁用危險函數:在php.ini中禁用exec/passthru等高風險函數。
  • 權限控制:確保PHP-FPM以非特權用戶(如www-data)運行。

參考來源

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女