828华为云征文|基于华为云Flexus云服务器X实例搭建Linux学习环境
前言
在当今信息技术日新月异的时代,
华为云Flexus云服务器X实例
以其强劲的性能和高性价比,迅速成为中小企业及开发者青睐的云端计算平台。作为新一代的柔性算力云服务器,Flexus X实例不仅提供了强大的计算资源,还拥有灵活的扩展能力和稳定的运行表现,为用户提供了可靠的技术支撑。特别是对于那些希望快速搭建Linux学习环境的用户来说,华为云Flexus云服务器X实例是一个理想的选择。例如,InstantBox项目利用先进的浏览器内即时访问技术,使得用户可以在无需下载安装的前提下,立即获得一个临时的Linux系统环境,这无疑极大地简化了Linux开发与探索的过程。无论是在家、办公室还是旅途中,只需通过任意浏览器,即可轻松访问到一个完整的Linux系统,进行编程练习或是系统管理的学习。华为云Flexus云服务器X实例结合InstantBox项目,共同为广大的技术爱好者开辟了一条高效便捷的学习之路。
一、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实例便捷获取,不仅提高了搭建效率,而且降低了成本。
-
游戏服务器:适用于搭建游戏后台服务器,强大的计算能力可以轻松应对大量玩家同时在线的情况,同时支持平滑扩容,快速应对玩家数量增长的需求,以及提供出色的网络加速能力以提升用户体验。
二、InstantBox介绍
2.1 InstantBox简介
InstantBox
项目利用了浏览器内的即时访问技术,使用户能够迅速获得一个临时的Linux系统环境,无需经历传统的下载和安装过程。这意味着,无论身处何处,只要拥有一台连接互联网的设备和一个现代浏览器,任何人都可以立即开始在Linux环境中进行开发与探索。
2.2 InstantBox使用场景
- 教育与培训:InstantBox提供了一个干净的Linux环境,使得学生或参与者能够跳过繁琐的系统配置步骤,直接投入到学习与实践中去,避免了因系统冲突或配置问题而分散注意力。
- 推广Linux:在学校或社交活动中,InstantBox可以用来展示Linux操作系统的优势及其使用方法,让更多的人有机会接触并了解这一免费且开放的操作系统。
- 创意激发:在一些非传统的工作场景下,比如在健身时,InstantBox能提供一个清洁的工作环境,帮助人们在运动的同时也能思考问题、激发灵感。
- 设备管理:对于需要管理多台设备的用户而言,InstantBox可以作为一个简便的工具来监控和控制这些设备,从而提升工作效率并增强安全性。
- 开源项目合作:InstantBox同样适用于开展开源项目的协作,它为参与者提供了一个平台,使其能够更方便地学习、贡献于开源项目,并与其他开发者建立联系。
- 软件性能测试:在资源受限的情况下,InstantBox允许开发者在一个独立的环境中测试软件性能,有助于识别瓶颈并优化代码,从而提高应用程序的整体效率。
2.3 Trilium Notes使用场景
- 学术研究:研究人员可以利用 Trilium Notes 组织文献和实验数据,构建详尽的研究知识库。
- 项目管理:项目经理通过 Trilium Notes 创建项目结构,跟踪任务进度,确保项目按时完成。
- 编程学习:开发者使用 Trilium Notes 存储代码片段和学习笔记,加速编程技能的掌握。
- 旅行规划:旅行者借助 Trilium Notes 计划行程细节,记录旅行经历,打造个性化的旅行指南。
- 个人财务管理:个人或家庭使用 Trilium Notes 管理收支记录,制定预算计划,实现财务目标。
- 健康日记:用户通过 Trilium Notes 记录饮食和运动情况,监测健康指标,促进生活方式改善。
- 教育资料整理:教师或学生运用 Trilium Notes 整理课程资料,准备考试复习,提升学习效率。
三、本次实践介绍
3.1 本次实践简介
1.本次实践为个人测试学习环境,旨在快速部署应用,生产环境请谨慎;
2.本次实践环境为云华为云Flexus云服务器X实例,使用的操作系统为Ubuntu 22.04.4 LTS;
3.本次实践在Docker环境下部署InstantBox系统。
3.2 本次环境规划
服务器类别 | 公共镜像选择 | 内网IP地址 | Docker版本 | 操作系统版本 |
---|---|---|---|---|
华为云Flexus云服务器X实例 | Ubuntu | 192.168.0.169 | 24.0.7 | Ubuntu 22.04.4 LTS |
四、远程连接华为云Flexus云服务器X实例
4.1 购买Flexus云服务器X实例
进入华为云官网:https://activity.huaweicloud.com/,登录自己的华为云账号,进入华为云首页。
- 可参考以下基础配置,进行购买:
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实例的各项配置是否正确。检查完毕后,点击“立即购买”。付款完毕后,华为云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实例的操作系统版本,本次实践选择的版本为
Ubuntu 22.04.4 LTS
root@flexusx-51a1:~# cat /etc/os-release
PRETTY_NAME="Ubuntu 22.04.4 LTS"
NAME="Ubuntu"
VERSION_ID="22.04"
VERSION="22.04.4 LTS (Jammy Jellyfish)"
VERSION_CODENAME=jammy
ID=ubuntu
ID_LIKE=debian
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
UBUNTU_CODENAME=jammy
5.2 检查内核版本
检查当前操作系统的内核版本,当前内核版本为
5.15.0-113-generic
。
root@flexusx-51a1:~# uname -r
5.15.0-113-generic
5.3 检查Docker版本
部署该项目需要提前安装Docker环境,检查Docker版本,当前安装的Docker版本为
24.0.7
。
root@flexusx-51a1:~# docker -v
Docker version 24.0.7, build 24.0.7-0ubuntu2~22.04.1
5.4 检查Docker compose版本
检查docker compose版本,当前默认安装版本为
v2.19.1
。
root@flexusx-51a1:~# docker compose version
Docker Compose version v2.19.1
5.5 检查Docker服务状态
检查Docker服务状态,确保Docker服务正常。
root@flexusx-51a1:~# docker compose version
Docker Compose version v2.19.1
root@flexusx-51a1:~# systemctl status docker
● docker.service - Docker Application Container Engine
Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
Active: active (running) since Wed 2024-09-04 15:03:00 CST; 4min 44s ago
TriggeredBy: ● docker.socket
Docs: https://docs.docker.com
Main PID: 11357 (dockerd)
Tasks: 10
Memory: 23.9M
CPU: 219ms
CGroup: /system.slice/docker.service
└─11357 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
六、部署InstantBox应用
6.1 拉取InstantBox镜像
执行以下命令,拉取Trilium Notes镜像。
docker pull instantbox/instantbox:latest
docker pull instantbox/instantbox-frontend:latest
docker pull instantbox/cron:latest
6.2 创建部署目录
我们执行以下命令,创建一个部署目录
/data/instantbox/
。
mkdir -p /data/instantbox && cd /data/instantbox
6.3 编辑docker-compose.yaml文件
本次实践使用docker compose方式部署InstantBox,编辑docker-compose.yaml文件。可自行修改映射端口部分,注意将SERVERURL变量替换为自己服务器IP地址,这里填写华为云Flexus云服务器X实例的内网IP地址。
vim docker-compose.yaml
version: '3'
services:
server:
image: instantbox/instantbox:latest
container_name: instantbox_server
volumes:
- /var/run/docker.sock:/var/run/docker.sock
environment:
- SERVERURL=192.168.0.169
networks:
- instantbox_net
frontend:
image: instantbox/instantbox-frontend:latest
container_name: instantbox_frontend
links:
- server
ports:
- 9888:80
networks:
- instantbox_net
cron:
image: instantbox/cron:latest
container_name: instantbox_cron
links:
- frontend
environment:
- CRON_STRINGS=* * * * * wget -qO /dev/null http://frontend/api/v2/superinspire/prune
networks:
- instantbox_net
networks:
instantbox_net:
6.4 创建InstantBox容器
执行以下命令,使用docker-compose.yaml文件创建InstantBox服务。
root@flexusx-51a1:/data/instantbox# docker compose up -d
[+] Running 4/4
✔ Network instantbox_instantbox_net Created 0.1s
✔ Container instantbox_server Started 0.3s
✔ Container instantbox_frontend Started 0.5s
✔ Container instantbox_cron Started 0.7s
6.5 检查InstantBox容器状态
检查InstantBox容器状态,确保InstantBox容器正常启动。
root@flexusx-51a1:/data/instantbox# docker compose ps
NAME IMAGE COMMAND SERVICE CREATED STATUS PORTS
instantbox_cron instantbox/cron:latest "/docker-entry.sh /d…" cron 2 minutes ago Up 2 minutes
instantbox_frontend instantbox/instantbox-frontend:latest "nginx -g 'daemon of…" frontend 2 minutes ago Up 2 minutes 0.0.0.0:9888->80/tcp, :::9888->80/tcp
instantbox_server instantbox/instantbox:latest "/usr/bin/python3.5 …" server 2 minutes ago Up 2 minutes 65501/tcp
6.6 检查InstantBox容器日志
检查InstantBox容器运行日志,确保InstantBox服务正常运行。
root@flexusx-51a1:/data/instantbox# docker compose logs
instantbox_server | * Serving Flask app "inspire" (lazy loading)
instantbox_server | * Environment: production
instantbox_server | WARNING: Do not use the development server in a production environment.
instantbox_server | Use a production WSGI server instead.
instantbox_server | * Debug mode: off
instantbox_server | * Running on http://0.0.0.0:65501/ (Press CTRL+C to quit)
instantbox_server | 172.18.0.3 - - [04/Sep/2024 07:17:01] "GET /v2/superinspire/prune HTTP/1.0" 200 -
instantbox_server | 172.18.0.3 - - [04/Sep/2024 07:18:01] "GET /v2/superinspire/prune HTTP/1.0" 200 -
instantbox_server | 172.18.0.3 - - [04/Sep/2024 07:19:01] "GET /v2/superinspire/prune HTTP/1.0" 200 -
instantbox_cron | crond 4.5 dillon's cron daemon, started with loglevel notice
instantbox_frontend | 172.18.0.4 - - [04/Sep/2024:07:17:01 +0000] "GET /api/v2/superinspire/prune HTTP/1.1" 200 39 "-" "Wget/1.20.3 (linux-musl)" "-"
instantbox_frontend | 172.18.0.4 - - [04/Sep/2024:07:18:01 +0000] "GET /api/v2/superinspire/prune HTTP/1.1" 200 39 "-" "Wget/1.20.3 (linux-musl)" "-"
instantbox_frontend | 172.18.0.4 - - [04/Sep/2024:07:19:01 +0000] "GET /api/v2/superinspire/prune HTTP/1.1" 200 39 "-" "Wget/1.20.3 (linux-musl)" "-"
七、访问前准备工作
7.1 关闭防火墙
安装的Ubuntu操作系统默认是关闭防火墙的,如果没有关闭,可以执行以下命令,停止防火墙。
root@flexusx-51a1:/data/instantbox# ufw disable
Firewall stopped and disabled on system startup
root@flexusx-51a1:/data/instantbox# ufw status
Status: inactive
7.2 Flexus云服务器X实例安全组配置
进入Flexus云服务器X实例控制台,进行安全组规则配置。
入方向上放行9888端口,确认配置即可。
八、访问InstantBox服务
8.1 访问InstantBox初始页
浏览器访问地址:http://弹性公网IP地址:9888,将IP替换为自己服务器IP地址。浏览器打开后,进入InstantBox初始页。
8.2 设置语言
在InstantBox首页的右上角,选择系统语言为中文。
十、InstantBox的基本使用
10.1 选择操作系统
在instantbox首页上,选择需要安装操作系统,这里选择ubuntu 20.04版本,下一步确认即可。
10.2 操作系统配置
可以参考以下配置:
端口:9888,这里填写ubuntu容器的端口(可自定义),会自动映射到自动生成的宿主机端口上;
CPU核心:2 ;
使用时长:24;
确认创建即可。
10.3 访问临时操作系统
点击“打开已创建的系统”,进入Ubuntu操作系统的命令行界面,这里默认设置的是系统有效期是24小时。
10.4 查看资源占用情况
执行以下命令,查看InstantBox相关容器的资源占用情况。InstantBox相关容器对系统资源的占用极低,极大地提高了
华为云Flexus云服务器X实例
的使用效率。这一特点不仅优化了资源利用,还确保了服务器性能的充分发挥,使整体运行更加高效和稳定。通过高效利用资源,InstantBox 在华为云Flexus云服务器X实例上的表现令人满意,显著提升了系统的整体效能。
docker stats $(docker ps -aq)
十一、使用体验与总结
在本次实践中,我们借助
华为云Flexus云服务器X实例
成功地部署了InstantBox应用,整个过程非常顺利。华为云Flexus X实例凭借其卓越的性价比、强大的计算性能、可靠的稳定性和高标准的安全保障脱颖而出。我们始终享受到稳定的网络连接,操作过程毫无延迟或卡顿,确保了高效的用户体验。InstantBox项目利用浏览器内的即时访问技术,使用户能够迅速获得临时的Linux系统环境,无需经历传统的下载和安装过程,为IT人员创建了一个便捷的学习平台。华为云Flexus云服务器X实例的出色表现,为我们带来了极为满意的使用体验,充分展示了其作为优秀云服务产品的强大实力。
趁着华为云828 B2B企业节的热潮,快来探索Flexus X实例所带来的超值优惠与卓越性能,助力您的业务腾飞;从高效能计算到全方位的安全保障,华为云提供一站式解决方案,满足您的多样化需求;不论是初创企业还是行业巨头,加入华为云大家庭,都能体验到技术创新带来的无限机遇;让我们携手共进,开创云端新纪元,共享科技未来的红利。