在Ubuntu上安装和配置PHP-FPM(FastCGI Process Manager)是一个常见的任务,以下是详细的步骤:
首先,确保你的系统包列表是最新的:
sudo apt update
根据你需要运行的PHP版本,选择相应的PHP-FPM包。例如,如果你需要PHP 7.4,可以使用以下命令:
sudo apt install php7.4-fpm
如果你需要PHP 8.0,可以使用以下命令:
sudo apt install php8.0-fpm
安装完成后,你需要配置PHP-FPM。默认情况下,PHP-FPM的配置文件位于/etc/php/{version}/fpm/pool.d/www.conf
,其中{version}
是你的PHP版本号。
例如,如果你安装的是PHP 7.4,配置文件路径将是/etc/php/7.4/fpm/pool.d/www.conf
。
你可以使用文本编辑器(如nano
或vim
)来编辑这个文件:
sudo nano /etc/php/7.4/fpm/pool.d/www.conf
找到以下行并修改它们以匹配你的需求:
listen = /run/php/php7.4-fpm.sock
或者,如果你希望通过TCP/IP监听:
listen = 127.0.0.1:9000
确保PHP-FPM以正确的用户和组运行。通常,这应该是www-data
:
user = www-data
group = www-data
启动PHP-FPM服务并设置它在系统启动时自动运行:
sudo systemctl start php7.4-fpm
sudo systemctl enable php7.4-fpm
如果你使用Nginx作为Web服务器,你需要配置Nginx以使用PHP-FPM处理PHP请求。
编辑Nginx的默认站点配置文件(通常位于/etc/nginx/sites-available/default
):
sudo nano /etc/nginx/sites-available/default
找到以下部分并修改:
server {
...
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php7.4-fpm.sock; # 或者 fastcgi_pass 127.0.0.1:9000;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
...
}
保存并关闭文件后,重启Nginx服务以应用更改:
sudo systemctl restart nginx
创建一个简单的PHP文件来验证安装是否成功。例如,在你的Web服务器根目录(通常是/var/www/html
)创建一个名为info.php
的文件:
echo "<?php phpinfo(); ?>" | sudo tee /var/www/html/info.php
然后在浏览器中访问http://your_server_ip/info.php
,你应该能看到PHP信息页面。
确保你的PHP-FPM配置是安全的。例如,限制PHP-FPM只监听本地套接字或特定的IP地址,避免不必要的网络暴露。
通过以上步骤,你应该能够在Ubuntu上成功安装和配置PHP-FPM。