讲师中心 微信公众号
AI工具推荐 视频效率加速

php永久免费版安装与PHP-FPM深度配置【进阶篇】

风辰君_1039

风辰君_1039

发布时间:2026-08-08 20:10:00

|

287人浏览过

|

来源于php中文网

原创

应优先使用包管理器安装PHP-FPM及常用扩展,再按需源码编译定制版本;必须将PHP-FPM进程模型调为ondemand模式并配置Unix Socket通信,以实现低内存占用与高性能。

php永久免费版安装与php-fpm深度配置【进阶篇】

你需要在Linux服务器上部署一个稳定、可长期维护的PHP运行环境,但不想依赖商业授权或受限于云服务商的封闭生态——PHP本身开源免费,关键在于正确安装核心组件并深度调校PHP-FPM进程行为。

用包管理器快速装齐PHP与PHP-FPM

这一步适用于Ubuntu 24.04、Debian 12、Rocky Linux 9、AlmaLinux 9等主流发行版,能一次性装好PHP解释器、FPM服务、常用扩展及系统服务单元文件。

执行对应命令:
Ubuntu/Debian:sudo apt update && sudo apt install php-fpm php-cli php-curl php-gd php-mbstring php-xml php-zip -y
Rocky/AlmaLinux 9:sudo dnf install php-fpm php-cli php-curl php-gd php-mbstring php-xml php-zip -y

验证是否装全:php -v 应输出8.2.x或8.3.x版本号;php-fpm -v 应显示FPM版本且无“command not found”错误。

立即学习“PHP免费学习笔记(深入)”;

【注意:若提示找不到php-fpm包,说明系统未启用AppStream(RHEL系)或universe源(Ubuntu系),需先配置仓库】

手动编译安装:定制PHP版本与扩展

当你需要PHP 8.4 beta、启用Swoole协程、或必须链接特定版本的OpenSSL时,包管理器无法满足,必须源码编译。

方法一:准备编译环境
Ubuntu/Debian:sudo apt install build-essential libxml2-dev libssl-dev libcurl4-openssl-dev libjpeg-dev libpng-dev libfreetype6-dev zlib1g-dev -y
Rocky/AlmaLinux:sudo dnf groupinstall "Development Tools" && sudo dnf install libxml2-devel openssl-devel curl-devel libjpeg-devel libpng-devel freetype-devel zlib-devel -y

方法二:下载并解压源码
wget https://windows.php.net/downloads/releases/php-8.4.0RC1.tar.gz → tar -xzf php-8.4.0RC1.tar.gz → cd php-8.4.0RC1

方法三:配置关键选项
./configure --prefix=/opt/php84 --enable-fpm --with-fpm-user=www-data --with-fpm-group=www-data --enable-opcache --with-curl --with-gd --with-jpeg --with-png --with-freetype --with-zlib --with-openssl --enable-swoole

make -j$(nproc) → sudo make install

复制默认配置:sudo cp sapi/fpm/php-fpm.conf /opt/php84/etc/php-fpm.conf && sudo cp sapi/fpm/www.conf /opt/php84/etc/php-fpm.d/www.conf

btpanel phpsite 宝塔面板PHP网站
btpanel phpsite 宝塔面板PHP网站

宝塔面板 PHP 网站管理:站点创建、删除、启停、PHP 版本切换、域名管理、SSL证书管理、伪静态管理、数据库管理

下载

深度调优PHP-FPM进程模型

默认配置使用静态模式,5个固定子进程,极易在高并发下阻塞或浪费资源。必须按实际负载重设pm策略。

第一步:编辑主配置文件
sudo nano /etc/php/*/fpm/php-fpm.conf(Ubuntu/Debian)或 /etc/php-fpm.conf(RHEL系)

第二步:修改全局参数
pid = /var/run/php-fpm.pid
error_log = /var/log/php-fpm.log
log_level = warning

第三步:重点调整进程池配置
打开 /etc/php/*/fpm/pool.d/www.conf(Ubuntu/Debian)或 /etc/php-fpm.d/www.conf(RHEL系)

将 pm = dynamic 改为 pm = ondemand —— 这能显著降低空闲内存占用,尤其适合低流量但需长期在线的服务。

设置以下四行:
pm.max_children = 32
pm.start_servers = 4
pm.min_spare_servers = 2
pm.max_spare_servers = 8

【ondemand模式下,pm.max_requests必须设为非零值(如500),否则子进程永不回收,可能因内存泄漏累积崩溃】

绑定Unix Socket提升Nginx通信效率

TCP回环(127.0.0.1:9000)有额外内核协议栈开销,生产环境务必改用Unix域套接字。

编辑 /etc/php/*/fpm/pool.d/www.conf 或 /etc/php-fpm.d/www.conf
找到 listen = 127.0.0.1:9000 这一行,替换为:
listen = /var/run/php/php-fpm.sock

添加权限控制:
listen.owner = www-data
listen.group = www-data
listen.mode = 0660

确保Nginx配置中 fastcgi_pass 指向同一路径:
fastcgi_pass unix:/var/run/php/php-fpm.sock;

重启服务:sudo systemctl restart php*-fpm && sudo systemctl restart nginx

相关文章

PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热门AI工具

更多
立刻MV
立刻MV Hot

立刻MV是一款AI文本写作工具,AI 音乐视频(MV)创作工具。

豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

Lovart
Lovart Hot

一款面向视觉设计创作的AI设计平台,可通过智能体和画布工作流辅助制作海报、Logo、网页、PPT及其他视觉内容。

蛙蛙写作

一款AI论文写作工具,主要用于超级AI智能写作助手,适合需要提升相关任务效率的用户。

WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

咔片AIPPT

一款在线AI演示文稿制作工具,可根据主题和内容需求辅助生成PPT结构与页面,提高演示材料制作效率。

墨刀AI
墨刀AI Hot

一款AI图像与设计工具,主要用于产品经理的专属智能体,适合需要提升相关任务效率的用户。

DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

讯飞绘文

讯飞绘文是一款由科大讯飞推出的一站式 AIGC 内容运营平台。

相关专题

更多
php文件怎么打开
php文件怎么打开

打开php文件步骤:1、选择文本编辑器;2、在选择的文本编辑器中,创建一个新的文件,并将其保存为.php文件;3、在创建的PHP文件中,编写PHP代码;4、要在本地计算机上运行PHP文件,需要设置一个服务器环境;5、安装服务器环境后,需要将PHP文件放入服务器目录中;6、一旦将PHP文件放入服务器目录中,就可以通过浏览器来运行它。

11624

2023.09.01

php怎么取出数组的前几个元素
php怎么取出数组的前几个元素

取出php数组的前几个元素的方法有使用array_slice()函数、使用array_splice()函数、使用循环遍历、使用array_slice()函数和array_values()函数等。本专题为大家提供php数组相关的文章、下载、课程内容,供大家免费下载体验。

6701

2023.10.11

php反序列化失败怎么办
php反序列化失败怎么办

php反序列化失败的解决办法检查序列化数据。检查类定义、检查错误日志、更新PHP版本和应用安全措施等。本专题为大家提供php反序列化相关的文章、下载、课程内容,供大家免费下载体验。

2175

2023.10.11

php怎么连接mssql数据库
php怎么连接mssql数据库

连接方法:1、通过mssql_系列函数;2、通过sqlsrv_系列函数;3、通过odbc方式连接;4、通过PDO方式;5、通过COM方式连接。想了解php怎么连接mssql数据库的详细内容,可以访问下面的文章。

4248

2023.10.23

php连接mssql数据库的方法
php连接mssql数据库的方法

php连接mssql数据库的方法有使用PHP的MSSQL扩展、使用PDO等。想了解更多php连接mssql数据库相关内容,可以阅读本专题下面的文章。

4974

2023.10.23

html怎么上传
html怎么上传

html通过使用HTML表单、JavaScript和PHP上传。更多关于html的问题详细请看本专题下面的文章。php中文网欢迎大家前来学习。

3891

2023.11.03

PHP出现乱码怎么解决
PHP出现乱码怎么解决

PHP出现乱码可以通过修改PHP文件头部的字符编码设置、检查PHP文件的编码格式、检查数据库连接设置和检查HTML页面的字符编码设置来解决。更多关于php乱码的问题详情请看本专题下面的文章。php中文网欢迎大家前来学习。

5617

2023.11.09

php文件怎么在手机上打开
php文件怎么在手机上打开

php文件在手机上打开需要在手机上搭建一个能够运行php的服务器环境,并将php文件上传到服务器上。再在手机上的浏览器中输入服务器的IP地址或域名,加上php文件的路径,即可打开php文件并查看其内容。更多关于php相关问题,详情请看本专题下面的文章。php中文网欢迎大家前来学习。

4402

2023.11.13

Vite 项目如何打包和部署
Vite 项目如何打包和部署

Vite项目打包部署专题汇集生产构建、产物预览、输出目录、资源路径、Nginx与GitHub Pages部署及常见白屏和路由404问题的已审核文章,帮助读者完成上线流程。

20

2026.10.28

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
墨刀帮助中心
墨刀帮助中心

共0课时 | 0人学习

MyEclipse学习中心
MyEclipse学习中心

共0课时 | 0人学习

Apache Subversion 官方手册
Apache Subversion 官方手册

共0课时 | 0人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn