下面给你一份**在 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,看到 Nginx 欢迎页即成功。
sudo apt install -y mariadb-server
启动并设置自启:
sudo systemctl enable mariadb
sudo systemctl start mariadb
sudo mysql_secure_installation
建议:
mysql -u root -p
Debian 12 默认 PHP 8.2,11 默认 7.4 / 8.2(取决于源)
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
常见名称:
php7.4-fpmphp8.2-fpm启动 PHP-FPM:
sudo systemctl enable php8.2-fpm
sudo systemctl start php8.2-fpm
sudo mkdir -p /var/www/example.com
echo "<?php phpinfo(); ?>" | sudo tee /var/www/example.com/index.php
sudo nano /etc/nginx/sites-available/example.com
示例配置(重点):
server {
listen 80;
server_name example.com www.example.com;
root /var/www/example.com;
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;
}
}
sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl reload nginx
浏览器访问:
http://服务器IP
看到 phpinfo() 页面即成功 ✅
fastcgi_pass socket 路径错误检查:
ls /run/php/
systemctl status php8.2-fpm
location ~ \.php$✅ 开启 HTTPS(Let’s Encrypt)
sudo apt install certbot python3-certbot-nginx
sudo certbot --nginx
✅ 数据库远程访问(谨慎)
✅ Nginx 开启 Gzip / 缓存
✅ PHP 调整 upload_max_filesize、memory_limit
LNMP 在 Debian 上的核心流程:
Nginx → PHP-FPM → PHP → MariaDB
如果你需要:
可以直接告诉我你的使用场景 ✅