PHP-FPM在Ubuntu中的安装步骤
在安装任何软件前,建议先更新系统的包列表,确保获取最新的软件版本信息:
sudo apt update
根据需求选择安装特定版本或最新版本的PHP-FPM:
sudo apt install php-fpm
sudo apt install software-properties-common
sudo add-apt-repository ppa:ondrej/php
sudo apt update
sudo apt install php7.4-fpm # 或替换为php8.0-fpm等
安装完成后,需调整PHP-FPM的配置以满足需求,主要修改**池(Pool)**设置:
sudo nano /etc/php/{version}/fpm/pool.d/www.conf
其中{version}为安装的PHP版本(如7.4、8.0)。listen = /run/php/php{version}-fpm.sock # Unix套接字(默认)
# 或
listen = 127.0.0.1:9000 # TCP端口(需防火墙放行)
www-data)运行:user = www-data
group = www-data
Ctrl+O保存、Ctrl+X退出。sudo systemctl start php{version}-fpm # 如php7.4-fpm
sudo systemctl enable php{version}-fpm
sudo systemctl status php{version}-fpm
若显示“active (running)”,则表示服务已成功启动。PHP-FPM需与Web服务器(Nginx/Apache)配合才能处理PHP请求,以下为常见配置:
编辑Nginx的站点配置文件(如/etc/nginx/sites-available/default),在server块中添加PHP处理逻辑:
location ~ \.php$ {
include snippets/fastcgi-php.conf; # 引入FastCGI配置
fastcgi_pass unix:/run/php/php{version}-fpm.sock; # 与PHP-FPM监听地址一致
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; # 传递脚本路径
include fastcgi_params; # 包含通用FastCGI参数
}
保存后测试Nginx配置语法:
sudo nginx -t
若无错误,重启Nginx:
sudo systemctl restart nginx
若使用Apache,需启用proxy_fcgi模块并修改虚拟主机配置:
sudo a2enmod proxy_fcgi setenvif
sudo systemctl restart apache2
/etc/apache2/sites-available/000-default.conf),添加:<FilesMatch \.php$>
SetHandler "proxy:unix:/run/php/php{version}-fpm.sock|fcgi://localhost"
</FilesMatch>
保存后重启Apache:sudo systemctl restart apache2
创建一个PHP测试文件,确认PHP-FPM与Web服务器协同工作:
echo "<?php phpinfo(); ?>" | sudo tee /var/www/html/info.php
在浏览器中访问http://your_server_ip/info.php,若看到PHP信息页面(包含“PHP Version”“Configuration”等内容),则说明安装成功。
/run/php/php{version}-fpm.sock的权限,仅允许Web服务器用户访问:sudo chown www-data:www-data /run/php/php{version}-fpm.sock
sudo chmod 660 /run/php/php{version}-fpm.sock
sudo apt remove php-{module}-fpm卸载未使用的扩展(如php-gd、php-mysql等),减少安全风险。以上步骤覆盖了PHP-FPM在Ubuntu中的完整安装与基础配置流程,可根据实际需求调整版本和配置参数。