ubuntu php-fpm配置步骤是什么
小樊
34
2025-12-04 16:16:29
Ubuntu 上配置 PHP-FPM 的标准步骤
一 安装与版本选择
- 更新索引并安装所需版本(将 {version} 替换为你的版本,如 8.1、8.2、8.3):
- sudo apt update
- sudo apt install php{version}-fpm
- 若不确定版本,可直接安装系统默认的最新版:sudo apt install php-fpm
- 安装完成后确认服务单元名称:systemctl list-units --type=service | grep php-fpm
二 核心配置
- 配置文件路径与池配置
- 主配置:/etc/php/{version}/fpm/php-fpm.conf
- 进程池:/etc/php/{version}/fpm/pool.d/www.conf(默认池为 www)
- 常用参数建议
- 监听方式(二选一,保持与 Web 服务器一致)
- Unix 套接字:listen = /run/php/php{version}-fpm.sock
- TCP 端口:listen = 127.0.0.1:9000
- 权限与运行身份
- listen.owner = www-data;listen.group = www-data
- user = www-data;group = www-data
- 进程管理(示例为 dynamic,按服务器内存与并发调优)
- pm = dynamic
- pm.max_children = 50
- pm.start_servers = 5
- pm.min_spare_servers = 5
- pm.max_spare_servers = 35
- pm.max_requests = 500(预防内存泄漏)
- 请求处理
- request_terminate_timeout = 30s(脚本最大执行时间)
- 日志
- catch_workers_output = yes(便于排错)
三 启动与集成 Web 服务器
- 启动与开机自启
- sudo systemctl start php{version}-fpm
- sudo systemctl enable php{version}-fpm
- sudo systemctl status php{version}-fpm(确认 active/running)
- Nginx 集成示例(站点配置 server 块内)
- location ~ .php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php{version}-fpm.sock; # 或 127.0.0.1:9000
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
- 应用:sudo systemctl restart nginx
- Apache 集成示例
- 启用模块:sudo a2enmod proxy_fcgi setenvif
- 虚拟主机或全局配置:
- <FilesMatch .php$>
SetHandler “proxy:unix:/run/php/php{version}-fpm.sock|fcgi://localhost”
- 应用:sudo systemctl restart apache2
四 验证与常用运维
- 验证
- 创建测试文件:echo “” | sudo tee /var/www/html/info.php
- 浏览器访问:http://服务器IP/info.php(看到 PHP 信息页即正常)
- 常用运维
- 重载配置:sudo systemctl reload php{version}-fpm
- 查看状态与日志:sudo systemctl status php{version}-fpm;journalctl -u php{version}-fpm -f
- 安装扩展(按需):sudo apt install php-{extension}-fpm(如:php-mysql-fpm、php-curl-fpm)