828华为云征文|华为云Flexus云服务器X实例之openEuler系统下部署SQLite数据库浏览器sqlite-web
前言
随着云计算技术的不断进步,企业对于灵活、高效的计算资源需求日益增长。华为云推出的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实例针对不同的使用场景展现出其独特的优势:
-
电商直播:利用X实例搭建电商交易平台,可以有效应对电商市场的瞬息万变,从容处理业务压力波动,确保交易过程顺畅无阻。
-
企业建站:面向博客、论坛和企业门户等应用场景,X实例帮助企业高效传播价值信息,促进信息共享与交流,支持构建多功能传播和交互平台。
-
个人开发测试:开发者在开发和测试过程中所需的环境资源可以通过X实例便捷获取,不仅提高了搭建效率,而且降低了成本。
-
游戏服务器:适用于搭建游戏后台服务器,强大的计算能力可以轻松应对大量玩家同时在线的情况,同时支持平滑扩容,快速应对玩家数量增长的需求,以及提供出色的网络加速能力以提升用户体验。
二、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 本次环境规划
服务器类别 | 公共镜像选择 | 内网IP地址 | Docker版本 | 操作系统版本 |
---|---|---|---|---|
华为云Flexus云服务器X实例 | openEuler | 192.168.0.169 | 26.1.3 | openEuler 22.03 LTS |
四、远程连接华为云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-release
NAME="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 -r
5.10.0-60.109.0.136.oe2203.x86_64
5.3 检查Docker版本
部署该项目需要提前安装Docker环境,检查Docker版本,当前安装的Docker版本为
26.1.3
。
[root@flexusx-51a1 ~]# docker -v
Docker 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 ago
TriggeredBy: ● 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 version
Docker 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 -version
3.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:latest
latest: Pulling from coleifer/sqlite-web
48ecbb6b270e: Pull complete
692f29ee68fa: Pull complete
6439819450d1: Pull complete
3c7be240f7bf: Pull complete
ca4b349df8ed: Pull complete
ef2d243c98cf: Pull complete
260a6c14518f: Pull complete
28e32c8ef834: Pull complete
Digest: sha256:b0d4094b883ee274d2242d8e5b4173f40e56a1d137660cf78d67c87164db9490
Status: Downloaded newer image for coleifer/sqlite-web:latest
docker.io/coleifer/sqlite-web:latest
7.2 进入部署目录
我们进入/data/sqlite/目录,作为sqlite-web的部署目录。
[root@flexusx-51a1 data]# cd /data/sqlite/
[root@flexusx-51a1 sqlite]# ls
data
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 ps
NAME IMAGE COMMAND SERVICE CREATED STATUS PORTS
sqlite-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 logs
sqlite-web | * Serving Flask app "sqlite_web.sqlite_web" (lazy loading)
sqlite-web | * Environment: production
sqlite-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: off
sqlite-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 0
sed -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实例带来的超值优惠,体验技术与创新的无缝融合。无论是在高性能计算领域还是智能监控方面,华为云都以卓越的品质和细致的服务展现了其领先优势。选择华为云,意味着不仅仅获得了强大的技术支持,更是向着数字化未来迈进的重要一步。让我们共同携手,在华为云平台上谱写新的成功故事!