温馨提示×

如何安装Debian LNMP

小樊
44
2026-08-26 01:39:12
栏目: 智能运维

在 Debian 上安装 LNMP(Linux + Nginx + MySQL/MariaDB + PHP) 的完整流程如下(以 Debian 11/12 为例,适用于生产环境)。


一、准备工作

1. 更新系统

sudo apt update
sudo apt upgrade -y

2. 查看系统版本(可选)

lsb_release -a

二、安装 Nginx

sudo apt install -y nginx

启动并设置开机自启

sudo systemctl start nginx
sudo systemctl enable nginx

验证

浏览器访问服务器 IP,看到 Welcome to nginx 即成功。


三、安装 MariaDB(推荐替代 MySQL)

sudo apt install -y mariadb-server

启动并设置开机自启

sudo systemctl start mariadb
sudo systemctl enable mariadb

初始化安全配置

sudo mysql_secure_installation

按提示操作:

  • 设置 root 密码 ✅
  • 移除匿名用户 ✅
  • 禁止 root 远程登录 ✅
  • 删除 test 数据库 ✅

四、安装 PHP(FastCGI)

1. 安装 PHP 及常用扩展

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

Debian 12 默认安装 PHP 8.2

2. 查看 PHP-FPM 服务名

systemctl status php*-fpm

例如:

php8.2-fpm

五、配置 Nginx 支持 PHP

1. 修改默认站点配置

sudo nano /etc/nginx/sites-available/default

2. 示例配置(重点)

server {
    listen 80;
    server_name your_domain_or_ip;

    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 版本一致


3. 检查并重载 Nginx

sudo nginx -t
sudo systemctl reload nginx

六、测试 PHP

echo "<?php phpinfo(); ?>" | sudo tee /var/www/html/info.php

浏览器访问:

http://你的IP/info.php

✅ 看到 PHP 信息页面即成功
❗ 测试完成后删除:

sudo rm /var/www/html/info.php

七、常见问题排查

1. 403 Forbidden

  • 检查 root 路径
  • 检查 index 是否包含 index.php
  • 检查目录权限

2. PHP 不解析

  • 确认 php-fpm 正在运行:
systemctl status php8.2-fpm

3. Nginx 启动失败

sudo nginx -t
journalctl -xe

八、可选优化(生产环境)

  • 开启 OPcache
  • 启用 HTTPS(Let’s Encrypt)
  • 配置 防火墙(ufw / nftables)
  • 数据库远程访问限制
  • 使用 www-data 权限管理站点

如果你需要: ✅ Debian + MySQL 8
多站点配置
LNMP 一键脚本
Docker 方式部署

可以直接告诉我你的使用场景。

0