温馨提示×

Ubuntu中PHP-FPM如何配置与管理

小樊
52
2025-08-19 16:41:14
栏目: 编程语言

在Ubuntu系统中,PHP-FPM(FastCGI Process Manager)是一个用于管理PHP进程的高性能、稳定的解决方案。以下是配置和管理PHP-FPM的步骤:

安装PHP-FPM

  1. 更新包列表

    sudo apt update
    
  2. 安装PHP-FPM

    sudo apt install php-fpm
    
  3. 选择PHP版本(如果需要特定版本):

    sudo apt install php7.4-fpm  # 例如安装PHP 7.4
    

配置PHP-FPM

PHP-FPM的配置文件通常位于/etc/php/{version}/fpm/目录下,其中{version}是PHP的版本号。主要的配置文件包括:

  • php-fpm.conf:主配置文件。
  • www.conf:包含与Web服务器通信的设置。
  • pool.d/*.conf:每个池的配置文件。

1. 修改主配置文件 php-fpm.conf

sudo nano /etc/php/{version}/fpm/php-fpm.conf

主要修改项:

  • listen:指定PHP-FPM监听的地址和端口。
    listen = /run/php/php{version}-fpm.sock
    
  • listen.ownerlisten.group:设置监听套接字的权限。
    listen.owner = www-data
    listen.group = www-data
    

2. 修改池配置文件 www.conf

sudo nano /etc/php/{version}/fpm/pool.d/www.conf

主要修改项:

  • listen:与主配置文件中的listen保持一致。
  • usergroup:设置运行PHP-FPM进程的用户和组。
    user = www-data
    group = www-data
    

3. 创建或修改池配置文件

如果需要为不同的项目创建不同的池,可以在pool.d/目录下创建新的配置文件,例如myapp.conf

sudo nano /etc/php/{version}/fpm/pool.d/myapp.conf

示例配置:

[myapp]
listen = /run/php/php{version}-fpm-myapp.sock
user = www-data
group = www-data
pm = dynamic
pm.max_children = 5
pm.start_servers = 2
pm.min_spare_servers = 1
pm.max_spare_servers = 3

启动和管理PHP-FPM服务

  1. 启动PHP-FPM

    sudo systemctl start php{version}-fpm
    
  2. 设置开机自启

    sudo systemctl enable php{version}-fpm
    
  3. 检查服务状态

    sudo systemctl status php{version}-fpm
    
  4. 重启PHP-FPM(用于应用配置更改):

    sudo systemctl restart php{version}-fpm
    

配置Nginx与PHP-FPM通信

如果你使用Nginx作为Web服务器,需要在Nginx配置文件中指定PHP-FPM的监听地址。

  1. 编辑Nginx配置文件

    sudo nano /etc/nginx/sites-available/default
    
  2. 添加或修改location块

    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/run/php/php{version}-fpm.sock;  # 或者使用tcp端口
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }
    
  3. 测试Nginx配置并重启

    sudo nginx -t
    sudo systemctl restart nginx
    

通过以上步骤,你可以在Ubuntu系统中成功配置和管理PHP-FPM。根据具体需求调整配置参数,以优化性能和资源使用。

0