当前位置:

首页 > 编程开发 > 怎样在Linux上配置PHP-FPM

怎样在Linux上配置PHP-FPM

在Linux上配置PHP-FPM,以Debian系为例:先用apt安装php-fpm及相关模块,编辑www.conf设置监听Unixsocket或端口,调整php-fpm.conf进程管理参数,随后启动并启用服务,最后配置Nginx或Apache转发PHP请求,通过info.php验证。

本文目录

    在Linux上配置PHP-FPM(FastCGI Process Manager),说难不难,但有些关键细节一旦忽略,后续调试起来就够你折腾一阵子。这里梳理一套相对通用的配置流程,以主流的Debian系系统(比如Ubuntu)为例,其他发行版逻辑相通,举一反三即可。

    怎样在Linux上配置PHP-FPM

    1. 安装PHP-FPM

    先把环境准备好。包管理器是最简单的入口,Ubuntu上的安装命令如下:

    sudo apt update
    sudo apt install php-fpm

    2. 配置PHP-FPM

    安装完成只是第一步,真正的“调校”才刚开始。PHP-FPM的配置文件放在 /etc/php/{版本号}/fpm/ 目录下,这里的 {版本号} 就是你安装的PHP具体版本,比如7.4。

    2.1 配置文件结构

    打开目录,你会看到三个关键对象:

    • php-fpm.conf:主配置文件,把控全局基调。
    • www.conf:与Web服务器沟通的接口配置,这是重点中的重点。
    • pool.d/*.conf:每个PHP-FPM进程池的具体设置,可以按需定制。

    2.2 编辑 www.conf

    这个文件通常藏在 /etc/php/{版本号}/fpm/pool.d/ 下面,你需要告诉PHP-FPM怎么和你的Web服务器打交道。

    假设你用的是Nginx,典型的配置参数是监听Unix socket:

    listen = /run/php/php7.4-fpm.sock
    listen.owner = www-data
    listen.group = www-data
    user = www-data
    group = www-data

    如果用的是Apache,socket方式可能不太方便,直接监听本地端口会更简单:

    listen = 127.0.0.1:9000

    2.3 配置 php-fpm.conf

    回到主配置文件,这里可以做一些全局性的调整,比如进程管理策略:

    ; Unix用户/组设置
    user = www-data
    group = www-data
    
    ; PHP-FPM进程管理设置
    pm = dynamic
    pm.max_children = 5
    pm.start_servers = 2
    pm.min_spare_servers = 1
    pm.max_spare_servers = 3

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

    配置完成,该让服务跑起来了。顺手设置一下开机自启,免得下次重启后一脸懵:

    sudo systemctl start php7.4-fpm
    sudo systemctl enable php7.4-fpm

    4. 配置Web服务器

    到了这里,剩下的工作就是让Web服务器知道PHP文件该交给谁处理。Nginx和Apache的配置逻辑稍有差异,分开说。

    4.1 Nginx

    在你的站点配置文件中加入处理PHP请求的规则,核心是让 .php 结尾的请求转发给刚才配置的socket或端口:

    server {
        listen 80;
        server_name example.com;
        root /var/www/html;
        index index.php index.html index.htm;
    
        location ~ \.php$ {
            include snippets/fastcgi-php.conf;
            fastcgi_pass unix:/run/php/php7.4-fpm.sock;
        }
    
        location / {
            try_files $uri $uri/ =404;
        }
    }

    搞定后,重载Nginx使配置生效:

    sudo systemctl reload nginx

    4.2 Apache

    Apache这边,首先需要启用PHP相关的模块和配置:

    sudo a2enmod proxy_fcgi setenvif
    sudo a2enconf php7.4-fpm
    sudo systemctl restart apache2

    然后在虚拟主机配置里指定处理PHP的方式:

    
        ServerName example.com
        DocumentRoot /var/www/html
    
        
            SetHandler "proxy:fcgi://localhost:9000"
        
    
        
            Options Indexes FollowSymLinks
            AllowOverride All
            Require all granted
        
    

    同样,记得重载Apache:

    sudo systemctl reload apache2

    5. 测试配置

    理论走完,总要动手验证一下。在站点根目录放一个简单的 info.php 文件:

    浏览器访问 http://你的服务器IP/info.php,如果看到熟悉的PHP信息页面,恭喜,配置成功。

    照着这几步走下来,PHP-FPM应该就跑起来了。当然,生产环境下还有很多调优空间,比如进程数、超时时间、慢日志等等,那是另一个话题了。

    本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系bd@zhengruan.com
    作者最新文章
    编程开发 Linux
    相关文章 更多
    linux删除用户与用户组的方法及命令教程
    linux删除用户与用户组的方法及命令教程

    掌握Linux中删除用户和用户组的正确方法,避免残留文件和进程冲突。本文深入解析userdel和groupdel命令的参数用法,提供处理“用户仍在使用”等常见错误的实战方案。

    Linux如何开启端口号?开放端口命令详解
    Linux如何开启端口号?开放端口命令详解

    详细讲解Linux如何开启端口号以及常用的开放端口命令。

    crossover卸载软件下载及重新安装教程
    crossover卸载软件下载及重新安装教程

    遇到CrossOver运行错误或需要更新版本时,如何彻底卸载旧版并干净重装?本教程详解macOS和Linux下的卸载步骤、残留文件清理方法及官方下载渠道,确保软件环境纯净稳定。

    查看更多
    精品专题 更多
    装机必备
    装机必备

    正软商城装机必备专区,精选办公、浏览器、安全防护、影音播放、压缩解压、设计创作和系统工具等电脑常用正版软件,帮助用户快速完成新电脑软件配置。

    Windows
    Windows

    正软商城Windows软件专区,汇集适用于Windows电脑的办公、设计、安全防护、影音播放、开发工具和系统优化软件,提供软件介绍、系统要求、正版授权及购买下载服务。

    PDF教程
    PDF教程

    正软商城PDF教程频道提供PDF编辑、转换、合并、拆分、压缩及格式处理方法,同时介绍常用PDF软件和工具的使用技巧。

    Mac软件 更多
    讯飞智作 网页版
    讯飞智作 网页版
    Windows/ macOS/ Linux

    讯飞智作是一款基于语音合成技术、虚拟人驱动技术与数字人形象声音构建能力的 AI 数字人音视频创作平台。

    火山引擎 网页版
    火山引擎 网页版
    Windows/ macOS/ Linux

    火山引擎是字节跳动旗下企业级云与AI服务平台。聚焦大模型核心能力,依托字节自研豆包多模态大模型,凭借火山方舟一站式平台,提供模型精调、推理部署、智能应用搭建等全链路服务,结合高性能AI算力,助力各行业快速落地大模型数字化与智能化应用。

    Aperty macOS版
    Aperty macOS版
    macOS

    Aperty 是 Skylum 推出的 AI 人像修图软件,支持自然肤质修饰、瑕疵处理、面部与身体调整、预设及批量同步。

    WINDOWS 更多
    讯飞智作 网页版
    讯飞智作 网页版
    Windows/ macOS/ Linux

    讯飞智作是一款基于语音合成技术、虚拟人驱动技术与数字人形象声音构建能力的 AI 数字人音视频创作平台。

    火山引擎 网页版
    火山引擎 网页版
    Windows/ macOS/ Linux

    火山引擎是字节跳动旗下企业级云与AI服务平台。聚焦大模型核心能力,依托字节自研豆包多模态大模型,凭借火山方舟一站式平台,提供模型精调、推理部署、智能应用搭建等全链路服务,结合高性能AI算力,助力各行业快速落地大模型数字化与智能化应用。

    PixTV 网页版
    PixTV 网页版
    Windows

    PixTV 是一款在浏览器中使用的 AI 视觉内容创作平台,提供图片、视频、音频、文字生成、AI 分镜、局部重绘、提示词反推和无限画布等工具,适合短剧、漫剧、广告及社交媒体内容制作。