在Ubuntu上,PHP-FPM(FastCGI Process Manager)通常与Nginx一起使用,而不是Apache,因为PHP-FPM是一个PHP FastCGI实现,具有进程管理功能,可以提高PHP脚本的执行效率。然而,如果你想在Ubuntu上使用Apache和PHP-FPM一起工作,你可以使用mod_proxy_fcgi模块来实现。以下是配置Apache与PHP-FPM配合使用的步骤:
sudo apt update
sudo apt install apache2 php-fpm
sudo systemctl start apache2
sudo systemctl enable apache2
sudo systemctl start php7.4-fpm
sudo systemctl enable php7.4-fpm
注意:这里的PHP版本可能会随着时间的推移而发生变化,请根据实际情况选择相应的版本。
sudo apt install libapache2-mod-proxy libapache2-mod-proxy-fcgid
sudo a2enmod proxy_fcgi setenvif
编辑Apache的默认站点配置文件,通常位于/etc/apache2/sites-available/000-default.conf
,在<VirtualHost *:80>
部分添加以下内容:
<FilesMatch \.php$>
SetHandler "proxy:unix:/run/php/php7.4-fpm.sock|fcgi://localhost"
</FilesMatch>
这里的localhost:9000
是PHP-FPM的默认监听地址和端口。如果你更改了PHP-FPM的配置,请相应地更新此处的地址和端口。
sudo systemctl restart apache2
现在,Apache应该已经成功配置为使用PHP-FPM处理PHP文件。你可以通过创建一个名为info.php
的文件并将其放置在Apache的网站根目录(例如/var/www/html
)下来测试配置是否正确。在该文件中添加以下内容:
<?php
phpinfo();
?>
然后在浏览器中访问http://your_server_ip/info.php
,你应该能看到PHP信息页面,这表明Apache已成功地将请求转发给了PHP-FPM。
通过以上步骤,你可以在Ubuntu上成功配置Apache和PHP-FPM,使它们能够协同工作,为你的Web应用程序提供动力。