在Linux环境下部署PHP-FPM(FastCGI Process Manager)通常涉及以下几个步骤:
安装PHP和PHP-FPM: 首先,你需要安装PHP以及PHP-FPM。这可以通过包管理器来完成,例如在基于Debian的系统上,你可以使用以下命令:
sudo apt update
sudo apt install php-fpm php-cli
在基于Red Hat的系统上,你可以使用:
sudo yum install php-fpm php-cli
配置PHP-FPM:
安装完成后,你需要配置PHP-FPM。配置文件通常位于/etc/php/{version}/fpm/目录下,其中{version}是你的PHP版本号。主要的配置文件是php-fpm.conf,而池(pool)配置文件通常位于/etc/php/{version}/fpm/pool.d/目录下,例如www.conf。
你可以根据需要编辑这些配置文件。例如,你可能需要修改监听地址和端口,以便Web服务器可以与PHP-FPM通信:
; 在www.conf中
listen = /run/php/php7.4-fpm.sock ; 对于Unix socket
; 或者
listen = 127.0.0.1:9000 ; 对于TCP/IP socket
启动并启用PHP-FPM服务: 配置完成后,你可以启动PHP-FPM服务,并设置为开机自启:
sudo systemctl start php{version}-fpm
sudo systemctl enable php{version}-fpm
确保服务正在运行:
sudo systemctl status php{version}-fpm
配置Web服务器: 你需要配置你的Web服务器(如Nginx或Apache)以便将PHP请求传递给PHP-FPM。
对于Nginx,你需要在server块中添加一个location块来处理.php文件:
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php7.4-fpm.sock; # 或者使用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>
测试PHP-FPM:
创建一个简单的PHP文件(例如info.php),并将其放置在你的Web服务器文档根目录下:
<?php
phpinfo();
访问这个文件(例如通过浏览器访问http://your_server_ip/info.php),如果一切配置正确,你应该能看到PHP的信息页面。
请注意,上述步骤中的版本号{version}需要替换为你实际安装的PHP版本号。此外,根据你的具体需求和系统配置,可能还需要进行其他调整。