溫馨提示×

如何在Ubuntu上限制PHP-FPM資源使用

小樊
36
2025-08-23 18:03:24
欄目: 編程語言

在Ubuntu上限制PHP-FPM資源使用可以通過配置文件來實現。以下是一些常見的方法:

方法一:使用php-fpm.confwww.conf

  1. 編輯php-fpm.conf文件: 打開/etc/php/7.x/fpm/php-fpm.conf(將7.x替換為你的PHP版本)。

    sudo nano /etc/php/7.x/fpm/php-fpm.conf
    

    找到并修改以下參數:

    ; 設置最大進程數
    pm.max_children = 5
    
    ; 設置每個子進程的最大請求數
    pm.max_requests = 500
    
    ; 設置進程空閑時間超過此值時自動重啟
    pm.process_idle_timeout = 10s
    
  2. 編輯www.conf文件: 打開/etc/php/7.x/fpm/pool.d/www.conf。

    sudo nano /etc/php/7.x/fpm/pool.d/www.conf
    

    找到并修改以下參數:

    ; 設置最大進程數
    pm.max_children = 5
    
    ; 設置每個子進程的最大請求數
    pm.max_requests = 500
    
    ; 設置進程空閑時間超過此值時自動重啟
    pm.process_idle_timeout = 10s
    

方法二:使用systemd服務配置

如果你使用的是systemd來管理PHP-FPM服務,可以在服務文件中添加資源限制。

  1. 編輯PHP-FPM服務文件: 打開/lib/systemd/system/php7.x-fpm.service(將7.x替換為你的PHP版本)。

    sudo nano /lib/systemd/system/php7.x-fpm.service
    

    [Service]部分添加以下行:

    [Service]
    ...
    LimitNOFILE=65535
    LimitMEMLOCK=infinity
    
  2. 重新加載systemd配置并重啟服務

    sudo systemctl daemon-reload
    sudo systemctl restart php7.x-fpm
    

方法三:使用cgroups

如果你需要更細粒度的控制,可以使用cgroups來限制PHP-FPM的資源使用。

  1. 安裝cgroup-tools

    sudo apt-get install cgroup-tools
    
  2. 創建一個新的cgroup

    sudo cgcreate -g memory:/php-fpm
    
  3. 設置內存限制

    echo "1G" | sudo tee /sys/fs/cgroup/memory/php-fpm/memory.limit_in_bytes
    
  4. 將PHP-FPM進程移動到新的cgroup

    首先找到PHP-FPM的主進程ID:

    ps aux | grep php-fpm
    

    然后將主進程移動到新的cgroup:

    sudo cgclassify -g memory:/php-fpm <PID>
    

注意事項

  • 修改配置文件后,記得重啟PHP-FPM服務以使更改生效。
  • 使用cgroups時,確保你有足夠的權限來管理cgroup。
  • 根據你的實際需求調整參數值。

通過以上方法,你可以在Ubuntu上有效地限制PHP-FPM的資源使用。

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