在Linux下部署PHP-FPM(FastCGI Process Manager)通常涉及以下几个步骤:
-
安装PHP和PHP-FPM: 首先,你需要安装PHP以及PHP-FPM。这可以通过包管理器来完成,例如在Debian/Ubuntu系统上,你可以使用以下命令:
sudo apt update sudo apt install php-fpm php-cli在CentOS/RHEL系统上,你可以使用以下命令:
sudo yum install epel-release sudo yum install php-fpm php-cli -
配置PHP-FPM: 安装完成后,你需要配置PHP-FPM。配置文件通常位于
/etc/php/{version}/fpm/pool.d/www.conf,其中{version}是你的PHP版本号。你需要根据你的需求编辑这个文件,特别是监听地址和端口,以及用户和组设置。listen = /run/php/php{version}-fpm.sock listen.owner = www-data listen.group = www-data user = www-data group = www-data如果你想让PHP-FPM监听TCP端口而不是Unix socket,你可以将
listen行更改为:listen = 127.0.0.1:9000 -
启动PHP-FPM: 配置完成后,你可以启动PHP-FPM服务:
sudo systemctl start php{version}-fpm并设置开机自启:
sudo systemctl enable php{version}-fpm -
配置Web服务器: 你需要配置你的Web服务器(如Nginx或Apache)来使用PHP-FPM处理PHP文件。
-
对于Nginx,你需要在配置文件中添加一个
location块来处理.php文件:location ~ \.php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/run/php/php{version}-fpm.sock; # 或者如果你使用TCP端口 # fastcgi_pass 127.0.0.1:9000; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } -
对于Apache,你需要启用
proxy_fcgi模块,并配置一个ProxyPass指令来将PHP请求转发给PHP-FPM:SetHandler "proxy:fcgi://localhost:9000" 确保你已经启用了
proxy和proxy_fcgi模块:sudo a2enmod proxy sudo a2enmod proxy_fcgi
-
-
测试配置: 重启你的Web服务器,并尝试访问一个PHP文件来测试配置是否正确:
sudo systemctl restart nginx # 或者对于Apache sudo systemctl restart apache2在浏览器中访问你的网站,如果一切配置正确,你应该能够看到PHP脚本的输出。
请注意,这些步骤可能会根据你的具体需求和系统环境有所不同。始终确保在进行任何更改之前备份你的配置文件,并在生产环境中进行更改之前在测试环境中验证它们。