在 Debian 上搭建 LNMP(Linux + Nginx + MySQL/MariaDB + PHP) 环境,下面给你一套常用、稳定、适合生产环境的做法(以 Debian 11/12 为例)。
sudo apt update
sudo apt upgrade -y
sudo apt install -y nginx
启动并设置开机自启:
sudo systemctl enable nginx
sudo systemctl start nginx
验证:
systemctl status nginx
浏览器访问服务器 IP,看到 Welcome to nginx 即成功。
sudo apt install -y mariadb-server
启动并设置开机自启:
sudo systemctl enable mariadb
sudo systemctl start mariadb
sudo mysql_secure_installation
建议:
mysql -u root -p
sudo apt install -y php php-fpm php-mysql php-curl php-gd php-mbstring php-xml php-zip
查看 PHP 版本:
php -v
查看 PHP-FPM 服务名:
systemctl list-units | grep php
常见如:
php8.2-fpm
sudo nano /etc/nginx/sites-available/default
确保包含以下配置:
server {
listen 80;
server_name _;
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/php8.2-fpm.sock;
}
location ~ /\.ht {
deny all;
}
}
⚠️ 注意:php8.2-fpm.sock 版本要与安装的 PHP 版本一致。
sudo nginx -t
sudo systemctl reload nginx
echo "<?php phpinfo(); ?>" | sudo tee /var/www/html/info.php
浏览器访问:
http://服务器IP/info.php
看到 PHP Info 页面即成功 ✅
测试完成后建议删除:
sudo rm /var/www/html/info.php
原因:PHP-FPM 未运行或 Nginx 未正确配置 fastcgi_pass
检查:
systemctl status php8.2-fpm
chown -R www-data:www-data /var/www/html
chmod -R 755 /var/www/html
✅ 已成功搭建:
如果你需要:
可以告诉我你的具体需求,我可以一步步帮你配置。