在Ubuntu系统中配置PHP-FPM(FastCGI Process Manager)通常涉及以下几个步骤:
-
安装PHP-FPM: 首先,你需要安装PHP-FPM。你可以使用
apt
包管理器来安装它。例如,如果你想安装PHP 7.4的FPM版本,你可以运行以下命令:sudo apt update sudo apt install php7.4-fpm
如果你想安装其他版本的PHP,只需将
php7.4-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
。在这个文件中,你可以配置进程管理器类型(动态或静态)、进程数量、用户和组等。例如,你可以设置
pm
参数来选择进程管理器类型:pm = dynamic pm.max_children = 5 pm.start_servers = 2 pm.min_spare_servers = 1 pm.max_spare_servers = 3
这些设置将控制FPM启动的子进程数量以及它们如何根据负载自动扩展。
-
配置Nginx或Apache: 如果你使用Nginx作为Web服务器,你需要配置它以便将PHP请求传递给PHP-FPM。这通常在Nginx的站点配置文件中完成,例如
/etc/nginx/sites-available/default
。你需要添加一个location
块来处理.php
文件:location ~ \.php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/var/run/php/php7.4-fpm.sock; # 对于Unix套接字 # fastcgi_pass 127.0.0.1:9000; # 对于TCP套接字 fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; }
如果你使用Apache,你需要启用
mod_proxy_fcgi
模块,并配置一个ProxyPass
指令来将请求转发到PHP-FPM。例如:SetHandler "proxy:fcgi://localhost:9000" 确保将
localhost:9000
替换为你的PHP-FPM监听的地址和端口。 -
重启服务: 在进行了配置更改后,你需要重启PHP-FPM和你的Web服务器(Nginx或Apache)来使更改生效。
对于PHP-FPM:
sudo systemctl restart php{version}-fpm
对于Nginx:
sudo systemctl restart nginx
对于Apache:
sudo systemctl restart apache2
-
测试配置: 创建一个简单的PHP文件(例如
info.php
),内容如下:将这个文件放在你的Web服务器的根目录下,并通过浏览器访问它。如果一切配置正确,你应该能够看到PHP的信息页面。
请注意,这些步骤可能会根据你的具体需求和Ubuntu版本有所不同。始终确保查阅最新的官方文档以获取最准确的指导。