LNMP在Ubuntu上的数据库如何配置
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,内容如下:
<
?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应用提供数据支持。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: LNMP在Ubuntu上的数据库如何配置
本文地址: https://pptw.com/jishu/746890.html
