LNMP在Ubuntu上的数据库配置指南
LNMP(Linux + Nginx + MySQL/MariaDB + PHP)是常见的Web服务架构,数据库(MySQL/MariaDB)是其中的核心组件之一。以下是在Ubuntu上配置LNMP数据库的详细步骤:
1. 安装MySQL/MariaDB数据库
Ubuntu上可选择安装MySQL或MariaDB(MySQL的开源分支),两者配置流程类似。以MariaDB为例,执行以下命令:
sudo apt update
sudo apt install mariadb-server -y
安装过程中,系统会提示设置root用户密码(务必记住,后续配置需用到)。安装完成后,启动MariaDB服务并设置开机自启:
sudo systemctl start mariadb
sudo systemctl enable mariadb
2. 提升数据库安全性
运行安全脚本,完成以下关键配置:
sudo mysql_secure_installation
按提示操作:
- 设置root密码(若未在安装时设置);
- 删除匿名用户(避免未授权访问);
- 禁止root远程登录(仅允许本地访问,提升安全性);
- 删除测试数据库(避免安全隐患)。
3. 登录数据库管理界面
使用root用户登录MariaDB(本地登录无需密码,若配置了远程访问需用密码):
sudo mysql -u root -p
输入root密码后进入MariaDB命令行界面(提示符变为mariadb>)。
4. 创建数据库与用户
为Web应用创建专用数据库和用户(避免直接使用root用户),并授予权限:
-- 创建数据库(例如名为"myblog"的博客数据库)
CREATE DATABASE myblog CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
-- 创建用户(例如用户名"bloguser",密码"YourSecurePassword123!")
CREATE USER 'bloguser'@'localhost' IDENTIFIED BY 'YourSecurePassword123>';
-- 授予用户对数据库的所有权限
GRANT ALL PRIVILEGES ON myblog.* TO 'bloguser'@'localhost';
-- 刷新权限(使更改立即生效)
FLUSH PRIVILEGES;
-- 退出数据库
EXIT;
注意:密码需包含大小写字母、数字和特殊字符(如!@#$%^&*),长度不少于8位。
5. 配置PHP连接数据库
LNMP中的PHP需安装mysql扩展才能连接MySQL/MariaDB,Ubuntu安装PHP时通常会自动包含该扩展。若未安装,执行:
sudo apt install php-mysql -y
安装完成后,重启PHP-FPM服务(使扩展生效):
sudo systemctl restart php7.4-fpm # 根据PHP版本调整(如php8.1-fpm)
6. 测试数据库连接
在Web根目录(如/var/www/html)创建测试脚本db_test.php,内容如下:
$servername = "localhost";
$username = "bloguser";
$password = "YourSecurePassword123!";
$dbname = "myblog";
// 创建连接
$conn = new mysqli($servername, $username, $password, $dbname);
// 检查连接
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
echo "Database connected successfully!";
$conn->close();
?>
保存后,在浏览器中访问http://your_server_ip/db_test.php。若显示“Database connected successfully!”,说明数据库配置成功。
7. 配置Nginx支持PHP(关联数据库与Web)
确保Nginx能处理PHP请求(将动态请求转发给PHP-FPM)。编辑Nginx默认站点配置文件:
sudo nano /etc/nginx/sites-available/default
在server块中添加以下内容(若已存在则修改):
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.4-fpm.sock; # 根据PHP版本调整路径(如php8.1-fpm.sock)
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
保存后,测试Nginx配置语法是否正确:
sudo nginx -t
若无错误,重新加载Nginx:
sudo systemctl reload nginx
8. 后续优化(可选)
- 修改数据库绑定地址:若需远程访问数据库,编辑
/etc/mysql/mariadb.conf.d/50-server.cnf,将bind-address = 127.0.0.1改为服务器公网IP,然后重启MariaDB。 - 配置防火墙:若使用UFW,允许HTTP(80)和HTTPS(443)流量:
sudo ufw allow 'Nginx Full'。 - 定期备份:使用
mysqldump命令备份数据库(如mysqldump -u bloguser -p myblog > myblog_backup.sql)。
通过以上步骤,即可在Ubuntu上完成LNMP环境的数据库配置,为WordPress、Laravel等Web应用提供数据支持。
以上就是关于“LNMP在Ubuntu上的数据库如何配置”的相关介绍,筋斗云是国内较早的云主机应用的服务商,拥有10余年行业经验,提供丰富的云服务器、租用服务器等相关产品服务。云服务器资源弹性伸缩,主机vCPU、内存性能强悍、超高I/O速度、故障秒级恢复;电子化备案,提交快速,专业团队7×24小时服务支持!
简单好用、高性价比云服务器租用链接:https://www.jindouyun.cn/product/cvm