前言
隨著云計算技術的不斷進步,企業對于靈活、高效的計算資源需求日益增長。華為云推出的 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 EngineLoaded: 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.socketDocs: https://docs.docker.comMain PID: 10018 (dockerd)Tasks: 10Memory: 196.3MCGroup: /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-webcontainer_name: sqlite-webrestart: alwaysports:- 8700:8080volumes:- /data/sqlite/data:/dataenvironment:- 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 實例帶來的超值優惠,體驗技術與創新的無縫融合。無論是在高性能計算領域還是智能監控方面,華為云都以卓越的品質和細致的服務展現了其領先優勢。選擇華為云,意味著不僅僅獲得了強大的技術支持,更是向著數字化未來邁進的重要一步。讓我們共同攜手,在華為云平臺上譜寫新的成功故事!
審核編輯 黃宇
-
云服務器
+關注
關注
0文章
721瀏覽量
13397 -
華為云
+關注
關注
3文章
2682瀏覽量
17540 -
openEuler
+關注
關注
2文章
319瀏覽量
5935
發布評論請先 登錄
相關推薦
評論