在LNMP(Linux, Nginx, MySQL, PHP)环境中,PHP-FPM(FastCGI Process Manager)是一个用于处理PHP脚本的高性能进程管理器。以下是如何配置PHP-FPM的步骤:
1. 安装PHP-FPM
首先,确保你的系统上已经安装了PHP-FPM。你可以使用包管理器来安装它。例如,在基于Debian的系统上:
sudo apt update sudo apt install php-fpm
在基于Red Hat的系统上:
sudo yum install php-fpm
2. 配置PHP-FPM
PHP-FPM的配置文件通常位于 /etc/php/版本号/fpm/php-fpm.conf
和 /etc/php/版本号/fpm/pool.d/www.conf
。你需要编辑这些文件来配置PHP-FPM。
编辑 php-fpm.conf
这个文件包含了一些全局配置选项。你可以根据需要进行修改,但通常不需要做太多更改。
sudo nano /etc/php/版本号/fpm/php-fpm.conf
编辑 www.conf
这个文件包含了与PHP-FPM进程池相关的配置。你需要确保以下配置项正确设置:
listen
:指定PHP-FPM监听的地址和端口。通常设置为/run/php/php7.4-fpm.sock
或/var/run/php/php7.4-fpm.sock
。user
和group
:指定运行PHP-FPM进程的用户和组。pm
:指定进程管理方式,常用的有dynamic
、static
和ondemand
。
sudo nano /etc/php/版本号/fpm/pool.d/www.conf
示例配置:
[www] listen = /run/php/php7.4-fpm.sock listen.owner = www-data listen.group = www-data user = www-data group = www-data pm = dynamic pm.max_children = 5 pm.start_servers = 2 pm.min_spare_servers = 1 pm.max_spare_servers = 3
3. 启动和启用PHP-FPM服务
安装完成后,启动PHP-FPM服务并设置开机自启。
在基于Debian的系统上:
sudo systemctl start php7.4-fpm sudo systemctl enable php7.4-fpm
在基于Red Hat的系统上:
sudo systemctl start php-fpm sudo systemctl enable php-fpm
4. 配置Nginx
最后,你需要配置Nginx以使用PHP-FPM处理PHP请求。编辑Nginx的站点配置文件(通常位于 /etc/nginx/sites-available/默认
或 /etc/nginx/conf.d/default.conf
)。
sudo nano /etc/nginx/sites-available/默认
添加或修改以下内容:
server { listen 80; server_name your_domain.com; root /var/www/html; index index.php index.html index.htm; location / { try_files $uri $uri/ =404; } location ~ \.php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/run/php/php7.4-fpm.sock; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } }
5. 重启Nginx
保存并退出编辑器后,重启Nginx以应用更改。
sudo systemctl restart nginx
现在,你的LNMP环境已经配置好了PHP-FPM,并且Nginx可以正确处理PHP请求。