在LNMP(Linux, Nginx, MySQL, PHP)环境中,PHP-FPM(FastCGI Process Manager)是一个用于处理PHP脚本的高性能进程管理器。以下是如何配置PHP-FPM的步骤:
首先,确保你的系统上已经安装了PHP-FPM。你可以使用包管理器来安装它。例如,在基于Debian的系统上:
sudo apt update
sudo apt install php-fpm
在基于Red Hat的系统上:
sudo yum install 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
安装完成后,启动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
最后,你需要配置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;
}
}
保存并退出编辑器后,重启Nginx以应用更改。
sudo systemctl restart nginx
现在,你的LNMP环境已经配置好了PHP-FPM,并且Nginx可以正确处理PHP请求。