首页主机资讯LNMP在Debian上的数据库配置

LNMP在Debian上的数据库配置

时间2026-01-15 17:55:03发布访客分类主机资讯浏览1287
导读:在 Debian 上完成 LNMP 的数据库配置(MariaDB/MySQL) 一 安装与初始化数据库 更新系统并安装数据库(Debian 仓库默认提供 MariaDB,也可选装 MySQL): 安装 MariaDB:sudo apt...

在 Debian 上完成 LNMP 的数据库配置(MariaDB/MySQL)


一 安装与初始化数据库

  • 更新系统并安装数据库(Debian 仓库默认提供 MariaDB,也可选装 MySQL):
    • 安装 MariaDB:sudo apt update & & sudo apt install mariadb-server mariadb-client -y
    • 或安装 MySQL(需添加官方 APT 源后再安装):sudo apt update & & sudo apt install mysql-server -y
  • 启动并设为开机自启:sudo systemctl start mariadb & & sudo systemctl enable mariadb
  • 运行安全初始化向导,按提示设置 root 密码、移除匿名用户、禁止 root 远程登录、删除测试库:sudo mysql_secure_installation
  • 以上完成后,数据库服务已就绪,可继续创建业务库与用户。

二 创建业务数据库与用户

  • 登录数据库:sudo mysql -u root -p
  • 在 MariaDB/MySQL 提示符下执行(将数据库名、用户名、密码替换为实际值):
    • CREATE DATABASE mydatabase CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
    • CREATE USER ‘myuser’@‘localhost’ IDENTIFIED BY ‘StrongPassword!’;
    • GRANT ALL PRIVILEGES ON mydatabase.* TO ‘myuser’@‘localhost’;
    • FLUSH PRIVILEGES;
    • EXIT;
  • 说明:
    • 建议字符集使用 utf8mb4,以兼容 emoji 等 4 字节字符。
    • 如应用与数据库分离部署,可将主机改为应用服务器 IP 或网段(例如 ‘myuser’@‘192.168.1.%’),并确保网络与防火墙策略允许访问。

三 配置 PHP 连接数据库

  • 安装 PHP 与数据库扩展(以 PHP 8.2 为例,其他版本将路径中的版本号替换为实际版本):
    • sudo apt install php-fpm php-mysql php-curl php-gd php-mbstring -y
  • 确认 PHP-FPM 监听套接字(不同版本路径略有差异,以下为常见路径):
    • /run/php/php8.2-fpm.sock(Debian 12 常见)
    • /var/run/php/php8.2-fpm.sock(部分环境)
    • 如使用 TCP 方式:listen = 127.0.0.1:9000
  • 重启 PHP-FPM:sudo systemctl restart php8.2-fpm
  • 在站点 Nginx 配置中确保 PHP 段包含正确的 SCRIPT_FILENAME,例如:
    • location ~ .php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/run/php/php8.2-fpm.sock; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; }
  • 测试连接(创建 /var/www/html/dbtest.php):
    • 访问 http://服务器IP或域名/dbtest.php,出现 “Connected successfully” 即表示 PHP 与数据库连通。

四 安全与运维要点

  • 仅授予应用所需的最小权限,避免使用 root 直连应用;生产环境建议为应用创建专用数据库与用户
  • 如必须远程访问数据库,仅允许可信网段,并限制端口(默认 3306)访问;禁用或限制 root 远程登录。
  • 定期备份:使用 mysqldump 进行逻辑备份,例如:
    • mysqldump -u myuser -p --single-transaction --routines --triggers mydatabase > mydatabase_$(date +%F).sql
  • 防火墙与证书:
    • 如使用 UFW:sudo ufw allow ‘Nginx Full’
    • 启用 HTTPS(可选):sudo apt install certbot python3-certbot-nginx -y & & sudo certbot --nginx -d yourdomain.com
  • PHP 安全建议:在 php.ini 中设置 cgi.fix_pathinfo=0,降低路径解析风险。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: LNMP在Debian上的数据库配置
本文地址: https://pptw.com/jishu/780265.html
Ubuntu Oracle CPU使用率如何监控 Debian LNMP集群搭建指南

游客 回复需填写必要信息