在Debian上集成Nginx和PHP-FPM是一个常见的配置,用于提供高效的PHP网站服务。以下是详细的步骤指南:
首先,更新包列表并安装Nginx:
sudo apt update
sudo apt install nginx
接下来,安装PHP-FPM以及一些常用的PHP扩展:
sudo apt install php-fpm php-mysql php-curl php-gd php-mbstring php-xml php-pear php-bcmath
编辑PHP-FPM的配置文件 /etc/php/7.4/fpm/pool.d/www.conf(注意:PHP版本可能会有所不同,请根据实际情况调整路径):
sudo nano /etc/php/7.4/fpm/pool.d/www.conf
找到并修改以下行,以确保PHP-FPM监听Unix套接字:
listen = /run/php/php7.4-fpm.sock
同时,确保以下行没有被注释掉:
listen.owner = www-data
listen.group = www-data
user = www-data
group = www-data
保存并退出编辑器。
重启PHP-FPM服务以应用更改:
sudo systemctl restart php7.4-fpm
编辑Nginx的默认站点配置文件 /etc/nginx/sites-available/default:
sudo nano /etc/nginx/sites-available/default
找到并修改以下部分,以将PHP请求传递给PHP-FPM:
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;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
location ~ /\.ht {
deny all;
}
}
确保 fastcgi_pass 指向正确的PHP-FPM套接字路径。
重启Nginx服务以应用更改:
sudo systemctl restart nginx
创建一个简单的PHP文件来测试配置是否正确:
echo "<?php phpinfo(); ?>" | sudo tee /var/www/html/info.php
在浏览器中访问 http://your_server_ip/info.php,你应该能看到PHP信息页面。
删除测试文件以确保安全:
sudo rm /var/www/html/info.php
通过以上步骤,你已经成功在Debian上集成了Nginx和PHP-FPM。现在你可以开始部署你的PHP应用程序了。