828华为云征文|部署互联网操作系统 Puter
一、Flexus云服务器X实例介绍
1.1 云服务器介绍
云服务器是一种基于云计算技术的虚拟服务器,通过互联网提供计算资源。用户可以根据需求灵活调整配置,无需购买和维护物理硬件。云服务器具备高可用性、弹性扩展和按需付费等特点,适用于网站托管、应用部署、数据存储等多种场景,帮助企业降低成本、提升效率。
华为云下一代云服务器Flexus X实例
焕新上线,新产品具备柔性算力,六倍性能,旗舰体验,覆盖高科技、零售、金融、游戏等行业大多数通用工作负载场景,从而帮您快速上云!
Flexus X实例通过和其他服务组合,具备计算、镜像安装、网络、存储、安全等能力,您可根据业务需要灵活配置各资源。
本次测评使用的规格是:4核12G-100G-3M规格
的Flexus X实例基础模式
1.2 核心竞争力
-
柔性算力随心配
基于用户业务负载动态和内存峰值画像,动态推荐规格,减少算力浪费,提升资源利用率 -
一直加速一直快
首创大模型加持,智能全域调度;X-Turbo加速,常见应用性能最高可达业界同规格6倍 -
越用越省降本多
按照算力规格变化,精准计算用量,按需灵活计费,搭配智能推介,始终确保成本更优 -
安全可靠更放心
提供旗舰级安全品质,跨AZ 99.995%可用性,100+全球权威合规认证
1.3 计费模式
计费模式 | 包年/包月 | 按需计费 |
---|---|---|
付费方式 | 预付费按照订单的购买周期结算。 | 后付费按照云服务器实际使用时长计费。 |
计费周期 | 按订单的购买周期计费。 | 秒级计费,按小时结算。 |
关机是否计费 | 关机对包年/包月的X实例计费无影响。云服务器按订单的购买周期计费。 | 关机后,基础资源(包括vCPU、内存、镜像)不计费。其他绑定资源(如云硬盘、弹性公网IP、带宽等)正常计费。 |
是否支持变更规格 | 支持变更实例规格。 | 支持变更实例规格。 |
是否支持备案 | 支持备案。需包月3个月及以上(包含多次续费后累计时长)。 | 不支持备案。 |
适用场景 | 适用于可预估资源使用周期的场景,价格比按需计费模式更优惠。对于长期使用者,推荐该方式。 | 适用于计算资源需求波动的场景,可以随时开通,随时删除。 |
二、Flexus云服务器X实例配置
2.1 重置密码
购买完成后,会短信通过你的云服务器信息,重点是公网IP地址
和用户名。首先我们需要打开你的服务器控制台,完成重置密码
勾选自动重启,点击确定即可。
2.2 服务器连接
-
方式一:使用控制台提供的VNC方式登录
-
方式二:使用Putty、Xshell等工具登录Linux弹性云服务器,
a) 下载安装登录工具,例如Putty。
b) 输入弹性公网IP。
c) 输入用户名:root、密码,单击“确定”。 -
方式三:使用Linux/Mac OS系统主机登录Linux弹性云服务器。
a) 执行连接命令。
ssh 弹性公网IP
例如:ssh 123.xxx.xxx.456
b) 输入用户名:root、密码,登录服务器。
我个人习惯使用 MobaXterm
这款软件,添加SSH连接,输出公网IP
、用户名和端口(默认22),连接即可。
2.3 安全组配置
安全组是一个逻辑上的分组,为同一个VPC内的云服务器提供访问策略
。用户可以在安全组中定义各种访问规则,当云服务器加入该安全组后,即受到这些访问规则的保护。
系统为每个网卡默认创建一个默认安全组,默认安全组的规则是对出方向上的数据报文全部放行,入方向访问受限。您可以使用默认安全组,也可以根据需要创建自定义的安全组
。
主要需要填写优先级
(默认填1即可)、协议端口信息
(一般选择你项目需要暴露的端口即可),其他默认点击确定即可。安全组配置主要是暴露端口可以给外网访问。
如果还不清楚可以参考文档:安全组配置示例
三、部署 Puter
3.1 Puter 介绍
Puter是一个非常牛批的免费开源互联网操作系统,拥有完整的操作系统桌面环境,它可以用于构建远程桌面环境,也可以作为云存储服务、远程服务器、Web 托管平台等的界面。
- 一个以隐私为优先的个人云,将所有文件、应用程序和游戏保存在一个安全的地方,随时随地可访问。
- 构建和发布网站、Web 应用程序和游戏的平台。
- Dropbox、Google Drive、OneDrive 等的替代品,具有全新的界面和强大的功能。
- 服务器和工作站的远程桌面环境。
- 一个友好的开源项目和社区,学习 Web 开发、云计算、分布式系统等更多内容!
Puter 提供的是一个完整的基于 Web 的桌面操作系统,具有多种功能,包括文件管理、应用程序运行、组织工作环境等,使用户可以在浏览器中完成多种任务。由于基于 Web 技术构建,Puter 具有良好的跨平台兼容性,可以在不同操作系统和设备上运行,为用户提供了更广泛的应用范围和灵活性。 用户可以根据自己的需求和偏好对系统进行定制和扩展。这使得用户能够根据个人需求定制自己的桌面环境。
- 官网:https://puter.com/
- Github:https://github.com/HeyPuter/puter/
3.2 Docker 环境搭建
本次服务器环境是ubuntu系统镜像,需要自己安装docker环境
服务器类别 | 系统镜像 | 内网IP地址 | Docker版本 | 操作系统版本 |
---|---|---|---|---|
Flexus云服务器X实例 | Ubuntu | 192.168.0.168 | 27.2.0 | Ubuntu 22.04.4 LTS |
使用apt-get
命令安装docker及其配置
# 安装必要工具包
$ sudo apt-get install \
apt-transport-https \
ca-certificates \
curl \
gnupg-agent \
software-properties-common
# 添加Docker GPG秘钥
$ sudo curl -fsSL https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
# 配置仓库源
$ sudo add-apt-repository \
"deb [arch=amd64] https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu \
$(lsb_release -cs) \
stable"
# 更新apt包索引
$ sudo apt-get update
# 安装docker
$ sudo apt-get install docker-ce docker-ce-cli containerd.io
# 添加docker镜像源
$ sudo vim /etc/docker/daemon.json
{
"registry-mirrors": [
"https://ustc-edu-cn.mirror.aliyuncs.com/",
"https://docker.mirrors.ustc.edu.cn",
"https://docker.nju.edu.cn",
"https://ccr.ccs.tencentyun.com/",
"https://docker.m.daocloud.io/",
"https://dockerproxy.com",
]
}
# 重启
$ sudo systemctl daemon-reload
$ sudo systemctl restart docker
测试docker
安装是否成功
root@flexusx-c6b3:~# docker -v
Docker version 27.2.0, build 3ab4256```
检查docker
服务状态
root@flexusx-c6b3:~# systemctl status docker
* docker.service - Docker Application Container Engine
Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
Active: active (running) since Fri 2024-08-30 15:53:45 CST; 17h ago
TriggeredBy: * docker.socket
Docs: https://docs.docker.com
Main PID: 24912 (dockerd)
Tasks: 13
Memory: 24.7M
CPU: 3.778s
CGroup: /system.slice/docker.service
`-24912 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
检查docker compose
版本
root@flexusx-c6b3:~# docker compose version
Docker Compose version v2.29.2
3.3 Puter 部署
- 创建 docker-compose.yml
version: "3.5"
services:
puter:
container_name: puter
image: ghcr.io/heyputer/puter:latest
# pull_policy: always
# build: ./
restart: unless-stopped
ports:
- '4100:4100'
environment:
# TZ: Europe/Paris
# CONFIG_PATH: /etc/puter
PUID: 1000
PGID: 1000
volumes:
- ./config:/etc/puter
- ./data:/var/puter
# healthcheck:
# test: wget --no-verbose --tries=1 --spider http://puter.localhost:4100/test || exit 1
# interval: 30s
# timeout: 3s
# retries: 3
# start_period: 30s
- volumes:映射容器内部文件路径到本地
- ports:配置访问端口
如果将上述代码片段保存在名为 docker-compose.yml 的文件中,则只需从同一文件夹中运行 docker compose up -d
即可自动拉取 Puter 镜像,并创建并启动一个容器。 up
表示启动服务,-d
表示在后台执行。docker-compose down
命令用于停止和清理由 docker-compose up
启动的服务。
- 配置安全组
在Flexus云服务器X实例的安全组管理页面,添加入方向规则,接下来我们启动服务需要监听4100端口,所以添加安全组为TCP:4100
协议端口。
- 启动服务
进入项目目录,执行docker compose up -d
启动命令,会自动拉取容器并运行
从 Github Package 拉取 Puter 镜像,地址:https://github.com/heyputer/puter/pkgs/container/puter
root@flexusx-c6b3:~/puter# docker-compose up -d
Creating network "puter_default" with the default driver
Pulling puter (ghcr.io/heyputer/puter:latest)...
latest: Pulling from heyputer/puter
d25f557d7f31: Pull complete
9e36186fec5a: Pull complete
14d453f422e7: Pull complete
24ff74239155: Pull complete
1420d198eb3d: Pull complete
566886ead3b5: Pull complete
4f4fb700ef54: Pull complete
fdf72e44b1f2: Pull complete
b407a7c89821: Pull complete
bb2ece20e354: Pull complete
62a5fec7e76d: Pull complete
Digest: sha256:551a6cda96af9167a866bd283e12fd6d3b0a9ea433f10edc7c3d9663eca2ac92
Status: Downloaded newer image for ghcr.io/heyputer/puter:latest
Creating puter ...
Creating puter ... done
- 检查容器状态
检查 Puter 容器状态,确保容器正常启动
root@flexusx-c6b3:~/puter# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
72b71706f20c ghcr.io/heyputer/puter:latest "docker-entrypoint.s…" 12 minutes ago Up 8 minutes (healthy) 0.0.0.0:4100->4100/tcp, :::4100->4100/tcp puter
- 访问地址
内网测试:http://puter.localhost:4100/test
- 访问结果
若出现此页面,则部署 puter server 成功。
3.4 Puter 使用
访问地址:http://puter.localhost:4100/
,即可进入 Puter 桌面
确保托管设备具有静态 IP 地址,以防止由于 IP 更改而导致的潜在连接问题。此设置将使您能够在本地网络上无缝访问 Puter 及其服务。查看说明:为自托管服务器配置域
点击右上角黄色警告,创建账户,属于邮箱帐号和密码完成创建用户,后续使用时会保存当前用户的使用情况
默认情况下,Puter 将创建一个名为 的用户default_user。此用户将拥有一个随机生成的密码,该密码将打印在开发控制台中。警告将一直显示在开发控制台中,直到更改此用户的密码为止。请登录此用户并更改密码作为您的第一步。
点击右上角头像,进入设置,选择语言为中文
设置中的一些其他配置:用量、帐号、安全、个性化、语言、时间
查看底部Dock栏,很类似与MacOS,自部署版本的功能会少很多,但是也够用常见的影音娱乐了,包含了常用的文本编辑器、图片查看器、音视频播放器、文件管理等
文本编辑器
开发者中心
文件管理以及回收站
图片查看器
视频播放器
录音机
PDF阅读器
终端
目前,Puter 的自托管版本与 Puter官网,我们正在努力改进应用中心,使其可以在自托管服务器上使用。在此之前,仍然可以使用开发中心应用添加应用。
- 没有内置方式从 puter.com 访问应用程序
- 缺少几个“核心”应用程序,例如Code或Draw
- 有些资产有所不同
在官方版本中,我们可以体验到更多的应用、游戏。
有和Win类似的应用商店,里面的程序还是很丰富的,还有游戏
我们来查看下 Puter 的映射文件路径下的结构
root@flexusx-c6b3:~/puter# tree -L 1
.
|-- config
|-- data
`-- docker-compose.yml
2 directories, 1 file
config
即为Puter的环境配置文件data
即为Puter的环境目录
Puter 的自托管版本目前处于 alpha 阶段,尚不宜用于生产。它正在积极开发中,可能包含错误和其他问题。请谨慎使用,仅用于测试和评估目的。作为一个入门级别的操作系统,进行日常的文件预览、音视频播放、照片查看还是不错的体验,其他的功能暂时都不能实现,还有更多有趣的设置和功能就需要自行探索了。
四、总结
如果你想要体验一台云电脑,Puter 还是很值得体验一下的。通过浏览器直接打开的完整桌面操作系统,唯一吐槽的就是它的云存储不是很方便,如果能直接启用NAS存储空间就完美了。不过它目前自带应用市场,里面内置的应用程序也非常多,简单的生产力,以及多个游戏。系统要求内存: 最低 2GB(推荐 4GB),磁盘空间: 1GB 可用空间即可。此次使用的Flexus X实例
配置还是很高的4核12G-100G-3M规格
的基础模式
,在部署的 Puter 系统中进行文件的创建、复制、预览等操作,响应有点慢,感觉是系统的问题而不是服务器的问题,因为整体CPU使用率不高,视频的播放、大量图片的预览、PDF文件的加载预览,都还可以达到使用的程度。
华为云服务器,您的云端智选!现在加入,即享超值优惠!高性能计算资源,弹性扩展,按需付费,助您轻松应对业务高峰。安全可靠,数据无忧,全球覆盖,快速响应。无论是初创企业还是大型企业,华为云服务器都能满足您的多样化需求。华为云正在举行828 B2B企业节
,立即行动,开启您的云端之旅!立即体验