溫馨提示×

ubuntu下php-fpm如何配置優化

小樊
57
2025-02-25 19:57:59
欄目: 編程語言

在 Ubuntu 下優化 PHP-FPM 配置可以顯著提升 PHP 應用程序的性能。以下是一些常見的優化步驟和建議:

1. 安裝 PHP-FPM

首先,確保你已經安裝了 PHP-FPM。你可以使用以下命令來安裝:

sudo apt update
sudo apt install php-fpm

2. 配置 PHP-FPM

PHP-FPM 的配置文件通常位于 /etc/php/{version}/fpm/pool.d/www.conf,其中 {version} 是你的 PHP 版本號。例如,如果你使用的是 PHP 7.4,配置文件路徑將是 /etc/php/7.4/fpm/pool.d/www.conf。

2.1 調整進程管理

編輯 www.conf 文件,調整以下參數:

  • pm:選擇進程管理方式,推薦使用 dynamicondemand。

    pm = dynamic
    pm.max_children = 50
    pm.start_servers = 5
    pm.min_spare_servers = 5
    pm.max_spare_servers = 35
    
  • pm.max_requests:每個子進程在重啟之前可以處理的請求數量,有助于防止內存泄漏。

    pm.max_requests = 500
    

2.2 調整請求處理

  • request_terminate_timeout:設置腳本的最大執行時間。
    request_terminate_timeout = 30s
    

2.3 日志級別

  • catch_workers_output:設置為 yes 可以捕獲子進程的輸出到主進程日志。
    catch_workers_output = yes
    

3. 配置 Nginx 或 Apache

如果你使用 Nginx 或 Apache 作為 Web 服務器,確保它們的配置與 PHP-FPM 正確集成。

3.1 Nginx 配置

編輯 Nginx 配置文件(通常位于 /etc/nginx/sites-available/default),確保 fastcgi_pass 指向正確的 PHP-FPM 監聽地址和端口:

server {
    listen 80;
    server_name example.com;

    root /var/www/html;
    index index.php index.html index.htm;

    location / {
        try_files $uri $uri/ =404;
    }

    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/run/php/php7.4-fpm.sock; # 根據你的 PHP 版本調整
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }
}

3.2 Apache 配置

如果你使用 Apache,確保啟用了 proxy_fcgi 模塊,并在虛擬主機配置中添加以下內容:

<VirtualHost *:80>
    ServerName example.com
    DocumentRoot /var/www/html

    <Directory /var/www/html>
        Options Indexes FollowSymLinks
        AllowOverride All
        Require all granted
    </Directory>

    <FilesMatch \.php$>
        SetHandler "proxy:unix:/run/php/php7.4-fpm.sock|fcgi://localhost"
    </FilesMatch>
</VirtualHost>

4. 監控和調優

使用監控工具(如 htop、php-fpm status)來監控 PHP-FPM 的性能,并根據實際情況進一步調整配置參數。

5. 其他優化建議

  • 啟用 OPcache:在 php.ini 文件中啟用 OPcache 可以顯著提高 PHP 腳本的執行速度。

    opcache.enable=1
    opcache.memory_consumption=128
    opcache.interned_strings_buffer=8
    opcache.max_accelerated_files=4000
    opcache.revalidate_freq=60
    
  • 調整數據庫連接:如果你使用數據庫,確保數據庫連接池配置正確,避免頻繁的連接和斷開操作。

通過以上步驟,你可以有效地優化 Ubuntu 下的 PHP-FPM 配置,提升應用程序的性能。

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