温馨提示×

debian lnmp怎么部署

小樊
42
2026-07-30 08:15:23
栏目: 智能运维

在 Debian 上部署 LNMP(Linux + Nginx + MySQL/MariaDB + PHP) 一般分三步:安装软件 → 配置 → 测试。下面给你一套通用、稳定、适合生产环境的做法(以 Debian 11/12 为例)。


一、准备工作

1. 更新系统

sudo apt update && sudo apt upgrade -y

2. 创建普通用户(可选但推荐)

adduser deploy
usermod -aG sudo deploy

二、安装 Nginx

sudo apt install -y nginx

启动并设置开机自启:

sudo systemctl enable nginx
sudo systemctl start nginx

验证:

curl http://localhost

三、安装 MySQL / MariaDB(二选一)

✅ 推荐:MariaDB(Debian 官方源)

sudo apt install -y mariadb-server

初始化安全配置:

sudo mysql_secure_installation

登录测试:

sudo mysql -u root -p

四、安装 PHP(FPM)

1. 安装 PHP 及常用扩展

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

查看 PHP 版本:

php -v

2. 确认 PHP-FPM 运行

systemctl status php-fpm
# 或
systemctl status php8.2-fpm

五、配置 Nginx 支持 PHP

1. 新建站点配置

sudo nano /etc/nginx/sites-available/example.conf

示例配置(PHP + Nginx):

server {
    listen 80;
    server_name example.com;

    root /var/www/example;
    index index.php index.html;

    location / {
        try_files $uri $uri/ =404;
    }

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

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

⚠️ 注意:php-fpm.sock 路径根据 PHP 版本可能不同

查看实际路径:

ls /run/php/

2. 启用站点

sudo ln -s /etc/nginx/sites-available/example.conf /etc/nginx/sites-enabled/

3. 创建站点目录

sudo mkdir -p /var/www/example

4. 测试并重载 Nginx

sudo nginx -t
sudo systemctl reload nginx

六、测试 PHP

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

浏览器访问:

http://服务器IP/index.php

七、配置数据库(示例)

CREATE DATABASE testdb;
CREATE USER 'testuser'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON testdb.* TO 'testuser'@'localhost';
FLUSH PRIVILEGES;

八、防火墙(如有)

sudo apt install -y ufw
sudo ufw allow 22
sudo ufw allow 80
sudo ufw allow 443
sudo ufw enable

九、可选优化(生产建议)

✅ 开启 HTTPS(Let’s Encrypt)

sudo apt install -y certbot python3-certbot-nginx
sudo certbot --nginx

✅ PHP-FPM 调优

/etc/php/8.2/fpm/pool.d/www.conf

✅ Nginx 开启 gzip / 缓存


十、常见错误排查

问题 原因
502 Bad Gateway PHP-FPM 未启动
403 Forbidden 目录权限
404 root / index 配置错误
数据库连不上 socket / 用户权限

总结

LNMP 在 Debian 上部署流程

系统更新 → Nginx → MariaDB → PHP-FPM → Nginx 配置 → 测试

如果你需要:

  • 一键脚本
  • Docker 方式
  • 宝塔 / aaPanel
  • Laravel / WordPress 专用配置

告诉我你的 Debian 版本 + 应用场景,我可以直接给你定制方案。

0