随着云计算技术的不断进步,企业对于灵活、高效的计算资源需求日益增长。华为云推出的 Flexus 云服务器 X 实例,正是为满足这一需求而设计的新一代云服务器解决方案。凭借其卓越的性能、弹性的资源调度能力和全面的安全保障体系,Flexus 云服务器 X 实例已成为众多中小企业和开发者青睐的选择。本文将详细介绍如何在华为云 Flexus 云服务器 X 实例上部署基于 openEuler 操作系统的 SQLite 数据库,并使用先进的 Web 数据库浏览器 sqlite-web 来管理和操作 SQLite 数据库。通过这一部署方案,用户不仅可以体验到华为云的强大算力支持,还能享受到 sqlite-web 带来的便捷数据库管理体验,进一步提升开发效率和运维管理水平。
一、Flexus 云服务器 X 实例介绍
1.1 Flexus 云服务器 X 实例简介
· 官网地址:华为云Flexus云服务器X实例华为云 Flexus 云服务器 X 实例是新一代面向中小企业和开发者的柔性算力云服务器。它能够智能感知业务负载的变化,自动调整资源配置。这款服务器特别适用于中低负载的应用场景,例如电商直播、企业网站建设、开发测试环境、游戏服务器以及音视频服务等。X 实例的设计理念旨在为用户提供更加灵活和高效的计算资源管理方式。通过智能调整,它可以更好地满足不同业务的需求,提高资源利用率。
1.2 Flexus 云服务器 X 实例特点
· 提供丰富的公共镜像:Flexus 云服务器 X 实例提供多种公共镜像供用户选择,方便快速部署各种应用和服务。· 可灵活自定义 vCPU 内存配比:用户可以根据自己的需要灵活调整虚拟 CPU 和内存的配比,以满足不同场景的需求。
· 智能感知业务动态升降配:Flexus 云服务器 X 实例能够智能感知业务的负载情况,并根据需要自动升降配,以满足业务的需求,提高系统的稳定性和性能。
· 负载范围更高:相对于 Flexus 应用服务器 L 实例,Flexus 云服务器 X 实例能够处理更高的负载,适用于更复杂和繁忙的场景。
1.3 Flexus 云服务器 X 实例使用场景
Flexus 云服务器 X 实例针对不同的使用场景展现出其独特的优势:1. 电商直播:利用 X 实例搭建电商交易平台,可以有效应对电商市场的瞬息万变,从容处理业务压力波动,确保交易过程顺畅无阻。
2. 企业建站:面向博客、论坛和企业门户等应用场景,X 实例帮助企业高效传播价值信息,促进信息共享与交流,支持构建多功能传播和交互平台。
3. 个人开发测试:开发者在开发和测试过程中所需的环境资源可以通过 X 实例便捷获取,不仅提高了搭建效率,而且降低了成本。
4. 游戏服务器:适用于搭建游戏后台服务器,强大的计算能力可以轻松应对大量玩家同时在线的情况,同时支持平滑扩容,快速应对玩家数量增长的需求,以及提供出色的网络加速能力以提升用户体验。
二、sqlite-web 介绍
2.1 sqlite-web 简介
sqlite-web 是一个用 Python 编写的基于 Web 的 SQLite 数据库浏览器,它提供了一个图形化用户界面来管理和操作 SQLite 数据库。2.2 sqlite-web 主要功能
· 兼容性:可以直接连接到现有的 SQLite 数据库,也可以用于创建新的数据库。· 数据库对象管理:允许用户添加或移除数据库中的表格。
· 表结构管理:支持对表格进行列的增删操作,兼容旧版 SQLite。
· 索引管理:能够创建和删除索引以优化数据库性能。
· 数据导出:支持将数据库中的数据导出为 JSON 或 CSV 格式文件。
· 数据导入:可以从 JSON 或 CSV 格式的文件中导入数据到数据库。
· 数据浏览:提供了一个直观的方式来浏览数据库中的表格数据。
· 数据编辑:允许用户插入新的记录行,更新现有记录,或者删除不需要的行。
三、本次实践介绍
3.1 本次实践简介
1.本次实践为个人测试学习环境,旨在快速部署应用,生产环境请谨慎;2.本次实践环境为云华为云 Flexus 云服务器 X 实例,使用的操作系统为 openEuler 22.03 LTS;3.本次实践在 Docker 环境下部署 SQLite 数据库浏览器 sqlite-web。3.2 本次环境规划
四、远程连接华为云 Flexus 云服务器 X 实例
4.1 购买 Flexus 云服务器 X 实例
进入华为云官网:https://activity.huaweicloud.com/,登录自己的华为云账号,进入华为云首页。
· 镜像选择:本次实践使用 openEuler 作为公共镜像,请根据实际需求自定义选择合适的操作系统镜像。
· 镜像切换说明:参考的公共镜像原为 Huawei Cloud EulerOS,但本次实践中已切换至 openEuler。
· 基础配置参考:购买时可参考以下基础配置进行选择。
1.计费模式:包年/包月,这里选择此模式;2.区域:华北—北京四,可用区:随机即可;3.实例规格:关闭性能模式,选择自定义,4vCPUs | 12GiB;4.镜像:公共镜像,Huawei Cloud EulerOS,版本,Huawei Cloud EulerOS 2.0 Standard 64 bit(10GiB);5.应用加速:这里选择不加速;6.存储:系统盘,通用型 SSD100G;7.网络:选择默认即可;8.安全组:选择默认即可;9.弹性公网 IP:选择“现在购买”,全动态 BGP,带宽 3Mbit/s;10.云服务器名称:可自定义设置,这里选择默认的名称;11.登录凭证:自定义设置密码;12.云备份:暂不购买;其余配置默认即可。
· 确认配置及购买:在确认配置页面仔细检查 Flexus 云服务器 X 实例的各项设置,确保无误后点击“立即购买”,完成付款流程即可成功购买。
4.2 查看 Flexus 云服务器 X 实例状态
进入华为云 Flexus 云服务的控制台,选择 Flexus 云服务器 X 实例,可以看到已经正在运行的 Flexus 云服务器 X 实例。
4.3 使用 Xshell 远程连接
· 复制 Flexus 云服务器 X 实例的弹性公网 IP 地址
· 主要填写 Flexus 云服务器 X 实例的弹性公网 IP 地址,输入其登录用户和密码,连接即可。
五、检查 Flexus 云服务器 X 实例系统环境
5.1 检查操作系统版本
检查 Flexus 云服务器 X 实例的操作系统版本,本次实践选择的版本为 openEuler 22.03 LTS[root@flexusx-51a1 ~]# cat /etc/os-releaseNAME="openEuler"VERSION="22.03 LTS"ID="openEuler"VERSION_ID="22.03"PRETTY_NAME="openEuler 22.03 LTS"ANSI_COLOR="0;31"
5.2 检查内核版本
检查当前操作系统的内核版本,当前内核版本为 5.10.0-60.109.0.136.oe2203.x86_64。[root@flexusx-51a1 ~]# uname -r5.10.0-60.109.0.136.oe2203.x86_64
5.3 检查 Docker 版本
部署该项目需要提前安装 Docker 环境,检查 Docker 版本,当前安装的 Docker 版本为 26.1.3。[root@flexusx-51a1 ~]# docker -vDocker version 26.1.3,build b72abbb
5.4 检查 Docker 服务状态
检查 Docker 服务状态,确保 Docker 服务正常。[root@flexusx-51a1 ~]# systemctl status docker●docker.service - Docker Application Container Engine Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; vendor preset: disabled) Active: active (running) since Wed 2024-09-04 21:23:44 CST; 15min agoTriggeredBy:●docker.socket Docs: https://docs.docker.com Main PID: 10018 (dockerd) Tasks: 10 Memory: 196.3M CGroup: /system.slice/docker.service └─10018 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
5.5 检查 Docker compose 版本
检查 docker compose 版本,当前默认安装版本为 v2.27.0`。[root@flexusx-51a1 ~]# docker compose versionDocker Compose version v2.27.0
六、安装 SQLite 数据库
6.1 安装 SQLite
SQLite 是一个开源的关系型数据库管理系统,它以源代码形式嵌入应用程序中,无需独立的服务器进程或管理系统。SQLite 支持多种操作系统,提供了丰富的 SQL 功能,并以其简单易用、高效可靠的特点广受好评。在 openEuler 系统上,我们直接安装 SQLite。yum install sqlite -y
6.2 检查 SQLite 安装版本
可以执行以下命令,查看当前安装 SQLite 版本。[root@flexusx-51a1 ~]# sqlite3 -version3.37.2 2022-01-06 13:25:41 872ba256cbf61d9290b571c0e6d82a20c224ca3ad82971edc46b29818d5dalt1
6.3 创建数据库目录
创建/data/sqlite/data 目录,用作 SQLite 的数据存储目录。[root@flexusx-51a1 ~]# mkdir -p /data/sqlite/data && cd /data/sqlite/data[root@flexusx-51a1 data]#
6.4 新建 test.db 文件
我们使用 sqlite3 命令,创建并且打开一个 test.db 数据库文件。我们可在这个数据库环境下执行各种 SQLite 相关操作,如创建表、查询数据等。sqlite3 test.db
6.5 写入数据
执行以下命令,写入测试数据。CREATE TABLE example_table ( id INTEGER PRIMARY KEY, name TEXT NOT NULL, age INTEGER);INSERT INTO example_table (name,age) VALUES ('张三',30);INSERT INTO example_table (name,age) VALUES ('李四',22);INSERT INTO example_table (name,age) VALUES ('王一云',40);INSERT INTO example_table (name,age) VALUES ('赵三车',38);
查询刚才插入数据,可以看到数据正常写入。
SELECT * FROM example_table;
当我们完成 SQLite 的会话并且确认 test.db 文件已正确创建并包含数据后,可以通过输入 .exit 来退出 SQLite 命令行界面。
.exit
七、安装 sqlite-web 工具
7.1 拉取 sqlite-web 镜像
我们直接在 docker hub 仓库拉取 sqlite-web 镜像,镜像名称为:coleifer/sqlite-web:latest。[root@flexusx-51a1 data]# docker pull coleifer/sqlite-web:latestlatest: Pulling from coleifer/sqlite-web48ecbb6b270e: Pull complete692f29ee68fa: Pull complete6439819450d1: Pull complete3c7be240f7bf: Pull completeca4b349df8ed: Pull completeef2d243c98cf: Pull complete260a6c14518f: Pull complete28e32c8ef834: Pull completeDigest: sha256:b0d4094b883ee274d2242d8e5b4173f40e56a1d137660cf78d67c87164db9490Status: Downloaded newer image for coleifer/sqlite-web:latestdocker.io/coleifer/sqlite-web:latest
7.2 进入部署目录
我们进入/data/sqlite/目录,作为 sqlite-web 的部署目录。[root@flexusx-51a1 data]# cd /data/sqlite/[root@flexusx-51a1 sqlite]# lsdata
7.3 编辑 docker-compose.yaml 文件
本次使用 docker compose 方式部署,需要新建及编辑 docker-compose.yaml 文件。在部署文件中,可以自定义修改宿主机映射端口等信息,注意防止端口冲突。vim docker-compose.yaml
services: sqlite-web: image: coleifer/sqlite-web container_name: sqlite-web restart: always ports: - 8700:8080 volumes: - /data/sqlite/data:/data environment: - SQLITE_DATABASE=test.db
7.4 创建 sqlite-web 容器
执行以下命令,快速创建 sqlite-web 容器容器。[root@flexusx-51a1 sqlite]# docker compose up -d[+] Running 2/2 ✔Network sqlite_default Created 0.0s ✔Container sqlite-web Started 0.2s
7.5 查看 sqlite-web 容器状态
检查 sqlite-web 容器状态,确保 sqlite-web 容器正常启动。[root@flexusx-51a1 sqlite]# docker compose psNAME IMAGE COMMAND SERVICE CREATED STATUS PORTSsqlite-web coleifer/sqlite-web "/bin/sh -c 'sqlite_…" sqlite-web 53 seconds ago Up 53 seconds 0.0.0.0:8700->8080/tcp,:::8700->8080/tcp
7.6 查看 sqlite-web 容器日志
检查 sqlite-web 容器日志,确保 sqlite-web 服务正常运行。[root@flexusx-51a1 sqlite]# docker compose logssqlite-web | Serving Flask app "sqlite_web.sqlite_web" (lazy loading)sqlite-web | Environment: productionsqlite-web | WARNING: This is a development server. Do not use it in a production deployment.sqlite-web | Use a production WSGI server instead.sqlite-web | Debug mode: offsqlite-web | Running on http://0.0.0.0:8080/ (Press CTRL+C to quit)
八、访问 sqlite-web 网页
8.1 关闭防火墙与 selinux
· 关闭防火墙systemctl stop firewalld && systemctl disable firewalld
· 关闭 selinux
setenforce 0sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
8.2 Flexus 云服务器 X 实例安全组配置
进入 Flexus 云服务器 X 实例控制台,进行安全组规则配置。在安全组入方向规则上,放行 8700 端口。
8.3 访问 sqlite-web 初始页
浏览器访问地址:http://弹性公网 IP 地址:8700,将 IP 替换为自己服务器 IP 地址。在浏览器中打开 sqlite-web 主页后,页面会显示数据库的一些基本信息,包括表和索引的数量,以及数据库文件在磁盘上的大小。
8.4 查询数据相关操作
当我们点击之前新建的 example_table 数据表时,可以在“Structure”选项卡中查看该表的结构信息,包括列、索引、触发器及外键(如果存在)。在此界面,用户还可以执行创建、重命名或删除列和索引的操作。
在“Content”选项卡中,可以浏览数据表中的所有记录。通过这个界面,用户能够清晰地查看每一行数据的详细内容。
在“Query”选项中,我们可以执行相应的 SQL 语句进行查询操作。查询结果将以表格形式展示,并支持导出为 JSON 或 CSV 格式。
九、使用体验与总结
在华为云 Flexus 云服务器 X 实例上部署 sqlite-web 的过程中,我们充分体验到了华为云卓越的性能和稳定性。从创建实例到配置 openEuler 系统,每一步都展现出了华为云在资源管理方面的高效率。sqlite-we 的安装和运行异常顺利,这得益于华为云服务器的强大计算能力和优秀的网络支持。使用 sqlite-web 管理 SQLite 数据库时,其响应速度令人印象深刻,即使是复杂查询也能快速反馈结果。简洁的 Web 界面让数据库操作变得更加直观简便,极大地提升了我们的工作效率。华为云 Flexus 云服务器 X 实例为我们提供了一个稳定、高效的工作平台,使数据库管理任务变得轻松愉快。把握华为云 828 B2B 企业节的契机,探索 Flexus X 实例带来的超值优惠,体验技术与创新的无缝融合。无论是在高性能计算领域还是智能监控方面,华为云都以卓越的品质和细致的服务展现了其领先优势。选择华为云,意味着不仅仅获得了强大的技术支持,更是向着数字化未来迈进的重要一步。让我们共同携手,在华为云平台上谱写新的成功故事!
网友评论