在Debian系统中,Nginx与PHP的配合主要通过FastCGI协议实现。以下是配置Nginx与PHP的步骤:
首先,更新包列表并安装Nginx和PHP-FPM:
sudo apt update
sudo apt install nginx php-fpm
PHP-FPM的配置文件通常位于 /etc/php/版本号/fpm/pool.d/www.conf。你需要确保以下配置项正确:
listen:指定PHP-FPM监听的地址和端口,通常是 127.0.0.1:9000。listen.allowed_clients:允许连接的客户端地址。listen = 127.0.0.1:9000
listen.allowed_clients = 127.0.0.1
编辑Nginx的默认站点配置文件 /etc/nginx/sites-available/default,或者创建一个新的站点配置文件。
sudo nano /etc/nginx/sites-available/default
在 server 块中添加以下内容:
server {
listen 80;
server_name your_domain.com www.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:/var/run/php/php7.4-fpm.sock; # 根据你的PHP版本调整
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
location ~ /\.ht {
deny all;
}
}
启用新配置的站点并重启Nginx:
sudo ln -s /etc/nginx/sites-available/default /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl restart nginx
编辑PHP配置文件 /etc/php/版本号/fpm/php.ini,根据需要进行配置。例如,设置错误日志、上传文件大小限制等。
error_log = /var/log/php-fpm/error.log
upload_max_filesize = 50M
post_max_size = 50M
创建一个PHP文件 /var/www/html/index.php,内容如下:
<?php
phpinfo();
?>
访问 http://your_domain.com/index.php,如果看到PHP信息页面,说明配置成功。
确保防火墙允许HTTP和HTTPS流量:
sudo ufw allow 'Nginx Full'
如果你需要HTTPS,可以使用Let’s Encrypt获取免费SSL证书:
sudo apt install certbot python3-certbot-nginx
sudo certbot --nginx -d your_domain.com -d www.your_domain.com
按照提示完成证书的获取和配置。
通过以上步骤,你就可以在Debian系统中成功配置Nginx与PHP的配合。