centos

如何配置CentOS PHP-FPM

小樊
33
2025-12-05 13:20:02
栏目: 编程语言

配置CentOS上的PHP-FPM(FastCGI Process Manager)涉及几个步骤。以下是一个基本的指南,帮助你安装和配置PHP-FPM:

1. 安装PHP和PHP-FPM

首先,确保你的系统是最新的:

sudo yum update -y

然后,安装PHP和PHP-FPM:

sudo yum install -y epel-release
sudo yum install -y php php-fpm

2. 配置PHP-FPM

PHP-FPM的配置文件通常位于 /etc/php-fpm.d/www.conf。你可以编辑这个文件来配置PHP-FPM。

sudo vi /etc/php-fpm.d/www.conf

www.conf 文件中,你可以修改以下参数:

例如:

user = apache
group = apache
listen = /run/php-fpm/www.sock
listen.owner = apache
listen.group = apache
pm = dynamic
pm.max_children = 50
pm.start_servers = 5
pm.min_spare_servers = 5
pm.max_spare_servers = 35

3. 启动和启用PHP-FPM

启动PHP-FPM服务并设置开机自启:

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

4. 配置Nginx或Apache

如果你使用的是Nginx,你需要配置Nginx以使用PHP-FPM处理PHP请求。

编辑Nginx配置文件(通常位于 /etc/nginx/nginx.conf/etc/nginx/conf.d/default.conf):

sudo vi /etc/nginx/conf.d/default.conf

添加或修改以下内容:

server {
    listen 80;
    server_name your_domain.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-fpm/www.sock;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }
}

如果你使用的是Apache,你需要启用 proxy_fcgi 模块并配置虚拟主机。

启用 proxy_fcgi 模块:

sudo a2enmod proxy_fcgi setenvif

编辑Apache配置文件(通常位于 /etc/httpd/conf/httpd.conf/etc/httpd/conf.d/your_domain.conf):

sudo vi /etc/httpd/conf.d/your_domain.conf

添加或修改以下内容:

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

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

    <FilesMatch \.php$>
        SetHandler "proxy:fcgi://localhost:9000"
    </FilesMatch>
</VirtualHost>

5. 重启Nginx或Apache

最后,重启Nginx或Apache以应用配置更改:

对于Nginx:

sudo systemctl restart nginx

对于Apache:

sudo systemctl restart httpd

现在,你的CentOS系统应该已经成功配置了PHP-FPM,并且可以通过Nginx或Apache处理PHP请求。

0
看了该问题的人还看了