LNMP在Debian上配置步骤是什么
小樊
39
2025-11-29 01:32:40
在 Debian 上搭建 LNMP 的推荐步骤
一 准备与安装基础组件
更新系统并安装常用工具
sudo apt update && sudo apt upgrade -y
sudo apt install -y apt-transport-https ca-certificates curl gnupg lsb-release
安装 Nginx
稳定源安装:sudo apt install -y nginx && sudo systemctl start nginx && sudo systemctl enable nginx
如需最新主线版(可选):
curl -sL https://nginx.org/keys/nginx_signing.key | sudo gpg --dearmor | sudo tee /usr/share/keyrings/nginx-keys.gpg >/dev/null
echo “deb [signed-by=/usr/share/keyrings/nginx-keys.gpg] https://nginx.org/packages/debian $(lsb_release -sc) nginx” | sudo tee /etc/apt/sources.list.d/nginx.list
sudo apt update && sudo apt install -y nginx && sudo systemctl enable --now nginx
验证:浏览器访问服务器 IP,出现 Nginx 欢迎页即正常。
二 安装与配置数据库
选择其一安装数据库
MariaDB:sudo apt install -y mariadb-server mariadb-client && sudo systemctl enable --now mariadb
MySQL:sudo apt install -y mysql-server && sudo systemctl enable --now mysql
安全初始化
sudo mysql_secure_installation(设置 root 密码、移除匿名用户、禁止远程 root、删除测试库等)
可选:创建应用专用数据库与用户
mysql -u root -p
CREATE DATABASE appdb; CREATE USER ‘appuser’@‘localhost’ IDENTIFIED BY ‘StrongPass!’; GRANT ALL ON appdb.* TO ‘appuser’@‘localhost’; FLUSH PRIVILEGES; EXIT;
三 安装与配置 PHP 与 PHP-FPM
安装 PHP 与常用扩展(版本号以实际仓库为准,示例为 PHP 7.4 )
sudo apt install -y php-fpm php-mysql php-curl php-gd php-mbstring php-xml php-zip
启动并设置开机自启:sudo systemctl enable --now php7.4-fpm
调整 PHP-FPM 以匹配 Nginx(/etc/php/7.4/fpm/pool.d/www.conf)
建议保持 Unix 套接字通信:listen = /run/php/php7.4-fpm.sock
确保进程属主与 Nginx 一致:user = www-data,group = www-data;listen.owner = www-data,listen.group = www-data
重启:sudo systemctl restart php7.4-fpm
说明:Debian 12 可能提供 PHP 8.x ,包名与路径请按实际替换(如 php8.2-fpm)。
四 配置 Nginx 处理 PHP
编辑站点配置(/etc/nginx/sites-available/default 或 /etc/nginx/sites-available/yourdomain.conf)
示例核心片段:
root /var/www/html; index index.php index.html;
location / { try_files $uri $uri/ =404; }
location ~ .php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php7.4-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
location ~ /.ht { deny all; }
检查并重载
sudo nginx -t && sudo systemctl reload nginx
说明:root 目录常见为 /var/www/html (Debian 打包 Nginx 默认)或 /usr/share/nginx/html (部分教程使用);保持一致即可。
五 验证与后续安全优化
验证 PHP
echo “” | sudo tee /var/www/html/info.php
浏览器访问:http://服务器IP/info.php(确认显示 PHP 信息页后建议删除该文件)
防火墙(如使用 UFW)
sudo ufw allow ‘Nginx Full’ && sudo ufw enable
启用 HTTPS(Let’s Encrypt)
sudo apt install -y certbot python3-certbot-nginx
sudo certbot --nginx -d yourdomain.com(按提示完成证书申请与自动续期配置)
数据库连通性测试(可选)
示例(/var/www/html/dbtest.php):
connect_error ? "连接失败: ".$conn->connect_error : "连接成功";
- $conn->close();
- ?>
访问 http://服务器IP/dbtest.php 验证输出“连接成功”。