在Ubuntu上部署PHP-FPM(FastCGI Process Manager)通常涉及以下几个步骤:
安装PHP-FPM:
首先,你需要安装PHP和PHP-FPM。你可以使用apt
包管理器来安装它们。
sudo apt update
sudo apt install php-fpm
这将安装PHP以及PHP-FPM。默认情况下,PHP-FPM将以www-data用户和组运行。
配置PHP-FPM:
安装完成后,你需要配置PHP-FPM。配置文件通常位于/etc/php/{版本号}/fpm/pool.d/www.conf
。你可以根据需要编辑这个文件来更改PHP-FPM的行为。
sudo nano /etc/php/{版本号}/fpm/pool.d/www.conf
在这个文件中,你可以更改监听地址和端口,设置用户和组,以及调整其他参数。
启动PHP-FPM: 配置完成后,你可以启动PHP-FPM服务。
sudo systemctl start php{版本号}-fpm
例如,如果你安装的是PHP 7.4,命令将是:
sudo systemctl start php7.4-fpm
配置Nginx或Apache: 如果你使用Nginx或Apache作为Web服务器,你需要配置它们以便将PHP请求传递给PHP-FPM。
对于Nginx,你需要在nginx.conf
或站点配置文件中添加一个location
块来处理.php
文件,并将它们传递给PHP-FPM。
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php{版本号}-fpm.sock; # 对于Unix套接字
# 或者
# fastcgi_pass 127.0.0.1:9000; # 对于TCP/IP连接
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
对于Apache,你需要启用proxy_fcgi
模块,并配置一个ProxyPass
指令来将请求转发给PHP-FPM。
<FilesMatch \.php$>
SetHandler "proxy:fcgi://localhost:9000"
</FilesMatch>
确保你已经启用了proxy
和proxy_fcgi
模块:
sudo a2enmod proxy
sudo a2enmod proxy_fcgi
重启Web服务器: 在配置了Nginx或Apache之后,你需要重启它们以应用更改。
对于Nginx:
sudo systemctl restart nginx
对于Apache:
sudo systemctl restart apache2
测试PHP-FPM:
创建一个简单的PHP文件(例如info.php
),并将其放在你的Web服务器的根目录下。
<?php
phpinfo();
然后在浏览器中访问这个文件。如果一切配置正确,你应该能看到PHP的信息页面。
请注意,上述步骤中的{版本号}
需要替换为你实际安装的PHP版本号。此外,根据你的具体需求和安全考虑,可能还需要进行其他配置,比如设置防火墙规则、调整PHP的内存限制等。