温馨提示×

Debian下LNMP怎么配

小樊
45
2026-10-13 15:58:03
栏目: 智能运维

下面给你一份**在 Debian 下搭建 LNMP(Linux + Nginx + MySQL/MariaDB + PHP)**的实用配置指南,适用于 Debian 11 / 12,新手也能照着做。


一、系统准备

sudo apt update
sudo apt upgrade -y

建议先设置主机名、时区:

sudo timedatectl set-timezone Asia/Shanghai

二、安装 Nginx

sudo apt install nginx -y

启动并设置开机自启:

sudo systemctl enable --now nginx

测试:

curl http://localhost

三、安装 MariaDB(或 MySQL)

Debian 默认用 MariaDB:

sudo apt install mariadb-server -y

初始化安全配置:

sudo mysql_secure_installation

创建数据库示例:

sudo mysql -u root -p
CREATE DATABASE testdb;
CREATE USER 'testuser'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON testdb.* TO 'testuser'@'localhost';
FLUSH PRIVILEGES;
EXIT;

四、安装 PHP(FPM)

以 PHP 8.2 为例(Debian 12 默认):

sudo apt install php-fpm php-mysql php-cli php-curl php-gd php-mbstring php-xml php-zip -y

查看 PHP 版本:

php -v

PHP-FPM 服务名通常是:

sudo systemctl status php8.2-fpm

五、配置 Nginx + PHP

1️⃣ 创建网站目录

sudo mkdir -p /var/www/example.com
sudo chown -R www-data:www-data /var/www/example.com

2️⃣ 创建测试页面

echo "<?php phpinfo(); ?>" | sudo tee /var/www/example.com/index.php

3️⃣ 配置 Nginx 虚拟主机

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;

    location / {
        try_files $uri $uri/ /index.php?$args;
    }

    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/run/php/php8.2-fpm.sock;
    }

    location ~ /\.ht {
        deny all;
    }
}

4️⃣ 启用站点

sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl reload nginx

六、防火墙(如有)

sudo apt install ufw
sudo ufw allow 80,443,22/tcp
sudo ufw enable

七、SSL(可选,推荐)

sudo apt install certbot python3-certbot-nginx -y
sudo certbot --nginx -d example.com -d www.example.com

八、常见问题

✅ 502 Bad Gateway

  • 检查 php-fpm 是否运行
  • fastcgi_pass 的 sock 路径是否正确

✅ File not found

  • root 路径错误
  • 权限不是 www-data

✅ PHP 不解析

  • 确认 location ~ \.php$ 配置存在

九、一键总结

nginx + php-fpm + mariadb
Nginx 负责静态
PHP-FPM 处理动态
MySQL 存数据

如果你需要:

  • Debian + Docker LNMP
  • LNMP 多站点配置
  • WordPress / Laravel 专用配置

告诉我你的使用场景,我可以直接给你对应方案。

0 踩