温馨提示×

php-fpm在Linux上如何配置

小樊
46
2025-11-22 15:07:28
栏目: 编程语言

在Linux上配置PHP-FPM(FastCGI Process Manager)通常涉及以下几个步骤:

1. 安装PHP-FPM

首先,你需要安装PHP-FPM。你可以使用包管理器来安装,例如在Debian/Ubuntu系统上:

sudo apt update
sudo apt install php-fpm

在CentOS/RHEL系统上:

sudo yum install php-fpm

2. 配置PHP-FPM

安装完成后,你需要配置PHP-FPM。PHP-FPM的配置文件通常位于/etc/php/{version}/fpm/目录下,其中{version}是PHP的版本号。

2.1 配置文件结构

主要配置文件包括:

  • php-fpm.conf:主配置文件。
  • www.conf:与Web服务器通信的配置文件。

2.2 修改php-fpm.conf

你可以根据需要修改php-fpm.conf文件。例如,你可以设置进程管理器类型、进程数量等。

; 设置进程管理器类型
pm = dynamic

; 最小空闲进程数
pm.min_spare_servers = 5

; 最大空闲进程数
pm.max_spare_servers = 35

; 启动时的进程数
pm.start_servers = 5

; 最大进程数
pm.max_children = 50

; 最大请求数
pm.max_requests = 500

2.3 修改www.conf

www.conf文件主要配置了PHP-FPM与Web服务器的通信方式。你需要确保监听地址和端口正确。

; 监听地址
listen = /run/php/php{version}-fpm.sock

; 监听权限
listen.owner = www-data
listen.group = www-data
listen.mode = 0660

; 用户和组
user = www-data
group = www-data

3. 启动和启用PHP-FPM服务

安装并配置完成后,你可以启动PHP-FPM服务并设置开机自启。

在Debian/Ubuntu系统上:

sudo systemctl start php{version}-fpm
sudo systemctl enable php{version}-fpm

在CentOS/RHEL系统上:

sudo systemctl start php-fpm
sudo systemctl enable php-fpm

4. 配置Web服务器

你需要配置你的Web服务器(如Nginx或Apache)以使用PHP-FPM处理PHP请求。

4.1 Nginx配置

在Nginx中,你需要配置一个location块来处理PHP文件。

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/php{version}-fpm.sock;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }
}

4.2 Apache配置

在Apache中,你需要启用mod_proxy_fcgi模块并配置一个ProxyPass指令。

<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:fcgi://unix:/run/php/php{version}-fpm.sock"
    </FilesMatch>
</VirtualHost>

5. 重启Web服务器

最后,重启你的Web服务器以应用配置更改。

在Debian/Ubuntu系统上:

sudo systemctl restart nginx

在CentOS/RHEL系统上:

sudo systemctl restart httpd

完成以上步骤后,你的PHP-FPM应该已经成功配置并运行在你的Linux系统上了。

0