在Ubuntu系统中配置LNMP(Linux, Nginx, MySQL, PHP)环境时,PHP-FPM(FastCGI Process Manager)是一个常用的PHP FastCGI实现。以下是配置PHP-FPM的详细步骤:
首先,确保你已经安装了PHP和PHP-FPM。你可以使用以下命令来安装它们:
sudo apt update
sudo apt install php-fpm php-mysql
PHP-FPM的配置文件通常位于 /etc/php/版本号/fpm/php-fpm.conf
和 /etc/php/版本号/fpm/pool.d/www.conf
。你需要编辑 www.conf
文件来配置PHP-FPM监听的地址和端口。
打开 www.conf
文件:
sudo nano /etc/php/版本号/fpm/pool.d/www.conf
找到以下行并进行修改:
;listen = 127.0.0.1:9000
listen = /run/php/php7.4-fpm.sock ; 使用Unix socket
;listen.allowed_clients = 127.0.0.1
listen.allowed_clients = 127.0.0.1 ; 允许本地连接
接下来,配置Nginx以使用PHP-FPM处理PHP请求。编辑Nginx的默认站点配置文件:
sudo nano /etc/nginx/sites-available/default
找到以下部分并进行修改:
server {
listen 80 default_server;
listen [::]:80 default_server;
root /var/www/html;
index index.php index.html index.htm index.nginx-debian.html;
server_name _;
location / {
try_files $uri $uri/ =404;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php7.4-fpm.sock; ; 使用Unix socket
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
location ~ /\.ht {
deny all;
}
}
完成配置后,重启PHP-FPM和Nginx服务以应用更改:
sudo systemctl restart php7.4-fpm
sudo systemctl restart nginx
创建一个简单的PHP文件来验证配置是否正确:
echo "<?php phpinfo(); ?>" | sudo tee /var/www/html/info.php
然后在浏览器中访问 http://your_server_ip/info.php
,你应该能看到PHP信息页面。
通过以上步骤,你应该能够在Ubuntu系统中成功配置PHP-FPM。