写点什么

部署互联网操作系统 Puter

作者:轶天下事
  • 2025-01-06
    海南
  • 本文字数:5088 字

    阅读完需:约 17 分钟

一、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 计费模式

二、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.456b)输入用户名: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 环境

使用 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 -vDocker 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 agoTriggeredBy: * 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 versionDocker 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 -dCreating network "puter_default" with the default driverPulling puter (ghcr.io/heyputer/puter:latest)...latest: Pulling from heyputer/puterd25f557d7f31: Pull complete9e36186fec5a: Pull complete14d453f422e7: Pull complete24ff74239155: Pull complete1420d198eb3d: Pull complete566886ead3b5: Pull complete4f4fb700ef54: Pull completefdf72e44b1f2: Pull completeb407a7c89821: Pull completebb2ece20e354: Pull complete62a5fec7e76d: Pull completeDigest: sha256:551a6cda96af9167a866bd283e12fd6d3b0a9ea433f10edc7c3d9663eca2ac92Status: Downloaded newer image for ghcr.io/heyputer/puter:latestCreating puter ... Creating puter ... done

• 检查容器状态

检查 Puter 容器状态,确保容器正常启动

root@flexusx-c6b3:~/puter# docker psCONTAINER ID   IMAGE                           COMMAND                  CREATED          STATUS                   PORTS                                       NAMES72b71706f20c   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.yml2 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 企业节,立即行动,开启您的云端之旅!立即体验


 

用户头像

轶天下事

关注

还未添加个人签名 2022-07-30 加入

还未添加个人简介

评论

发布
暂无评论
部署互联网操作系统Puter_轶天下事_InfoQ写作社区