当前位置: 首页 > news >正文

828华为云征文|Flexus云服务器X实例实践:部署2048网页小游戏

828华为云征文|Flexus云服务器X实例实践:部署2048网页小游戏

  • 引言
  • 一、Flexus云服务器X实例介绍
    • 1.1 Flexus云服务器X实例简介
    • 1.2 主要使用场景
  • 二、购买Flexus云服务器X实例
    • 2.1 购买规格参考
    • 2.2 查看Flexus云服务器X实例状态
  • 三、远程连接Flexus云服务器X实例
    • 3.1 重置密码
    • 3.2 本地MobaXterm工具远程连接
  • 四、部署2048小游戏
    • 4.12048小游戏介绍
      • 简介
      • 主要特点
    • 4.2 实践环境规划
    • 4.3 本地环境检查
    • 4.4 创建httpd容器
    • 4.5 查看httpd容器
    • 4.6 拉取2048项目
    • 4.7 重启容器
  • 五、访问2048网页小游戏
    • 5.1 安全设置
    • 5.2 访问2048网页小游戏
  • 六、总结与体会

引言

在数字化浪潮席卷的今天,华为云以其卓越的技术实力和创新能力,成为众多企业和开发者的首选。华为云 Flexus 云服务器 X 实例,更是展现出强大的柔性算力,为各类应用的部署提供坚实保障。此次,我们将通过在华为云 Flexus 云服务器 X 实例上部署 2048 小游戏,一同感受华为云的优秀性能与便捷服务。

一、Flexus云服务器X实例介绍

1.1 Flexus云服务器X实例简介

华为云Flexus云服务器X实例官网:Flexus云服务器X实例

华为云Flexus云服务器X实例属于新一代云服务器,专为中小企业和开发者打造,具备柔性算力。它能够智能感知业务负载,适用于电商直播、企业建站、开发测试环境、游戏服务器、音视频服务等中低负载场景。与 Flexus 应用服务器 L 实例相比,Flexus 云服务器 X 实例具有诸多优势,例如提供丰富的公共镜像、可灵活自定义 vCPU 内存配比、能智能感知业务动态升降配,而且负载范围更高等。

在这里插入图片描述

1.2 主要使用场景

  • 电商直播
    在电商直播领域,Flexus 云服务器 X 实例展现出卓越的适应性。随着电商市场的动态变化,业务压力时刻处于波动之中。利用 Flexus X 实例搭建电商交易平台,能够游刃有余地应对这种变化。无论是促销活动期间流量的爆发式增长,还是日常运营中的业务压力起伏,该实例凭借其独特的性能优势,确保电商平台的稳定运行,为商家和消费者提供可靠的交易环境。
  • 企业建站
    对于企业建站需求,无论是创建博客、搭建论坛,还是构建企业门户等业务场景,Flexus 云服务器 X 实例都能发挥重要作用。它有助于企业有效地传播自身的价值信息,推动信息在企业内部、企业与客户之间的共享和交流。企业可以借助这一实例轻松搭建多功能的传播和交互平台,全方位展示企业形象、产品信息以及服务内容,从而增强企业的品牌影响力和用户粘性。
  • 个人开发测试
    在个人开发和测试方面,开发者常常需要各种各样的环境资源。Flexus 云服务器 X 实例为开发者提供了便捷且经济高效的解决方案。选择从云上获取所需资源,基于该实例搭建开发测试环境,能够让开发者更加专注于代码编写和功能测试。与传统方式相比,这种方式不仅操作更加便利,而且在成本控制上更具优势,有助于提高开发效率,缩短项目周期。
  • 游戏服务器
    Flexus 云服务器 X 实例非常适用于搭建游戏后台服务器。在游戏运营过程中,它强大的算力足以轻松应对数千人同时在线的复杂情况。当服务器玩家数量出现上涨趋势时,该实例的平滑扩容能力能够迅速响应,确保游戏的流畅性和稳定性。此外,其超强的网络加速能力显著提升了玩家的游戏体验,减少延迟、卡顿等现象,为游戏的成功运营提供了坚实的技术保障。

二、购买Flexus云服务器X实例

2.1 购买规格参考

  • 华为云Flexus X实例的购买规格可以参考如下所示:
配置项详细信息
基础配置计费模式:包年/包月
区域:华为-北京四
可用区:随机分配
实例规格性能模式:关闭(按需可开启)
实例规格:自定义 4vCPUs 12GiB
镜像选择操作系统:Rocky Linux 9.0 64bit (10GiB)
存储设置系统盘:通用型 SSD,容量 100GB
网络配置使用默认配置,可自定义VPC及安全组
弹性公网IP购买方式:现在购买
线路:全动态BGP
公网带宽:按带宽计费
带宽大小:3Mbit/s
云服务器名称名称:flexusx-e2c8(自动生成)
登录凭证:自定义账号密码
云备份当前选择暂不购买,可自行选择
  • 可参考以下配置详情页,确认无误后,勾选“协议许可”,点击立即购买。

在这里插入图片描述

2.2 查看Flexus云服务器X实例状态

购买成功后,进入到Flexus云服务器X实例控制台,可以看到Flexus X实例已经正常运行中。

在这里插入图片描述

三、远程连接Flexus云服务器X实例

3.1 重置密码

选择“重置密码”选项,重置Flexus云服务器X实例的登录密码。

在这里插入图片描述

登录密码自定义设置,勾选自动重启选项,确认。

在这里插入图片描述

3.2 本地MobaXterm工具远程连接

可以使用本地MobaXterm工具连接Flexus云服务器X实例,填写Flexus云服务器X实例的弹性公网IP地址后,在终端界面填写root账号和密码即可远程连接。

在这里插入图片描述
在这里插入图片描述

四、部署2048小游戏

4.12048小游戏介绍

简介

2048是一款数字拼接的益智游戏。游戏的目标是通过在一个4x4的方格中移动和合并不同数字的方块,最终组合出一个数字是2048的方块。游戏规则很简单,玩家可以通过滑动方向键(上、下、左、右)来移动所有方块。每次滑动时,所有的方块都会向滑动的方向移动一格,相同数字的方块会合并成一个数字更大的方块。每次移动之后,系统会在空白的方格中随机生成一个2或者4的方块。当滑动之后的方块中有一个方块的数字达到2048时,游戏胜利。游戏的挑战在于玩家需要合理地移动方块,使得方块能够合并更大的数字,并且尽量不让方格填满。如果方格填满了并且无法再移动方块,游戏结束。

主要特点

  • 简单直观的操作:玩家只需使用键盘的方向键或在移动设备上滑动屏幕,即可控制所有方块向同一方向移动。当两个相同数字的方块碰撞时,它们会合并成一个新的方块,其值等于两者之和。
  • 无限重玩性:虽然游戏规则简单,但每次游玩都会产生不同的结果。游戏的随机性和不断变化的局面使得每次游戏都是独一无二的体验。
  • 策略与思考:为了成功地将方块合并到更高数值,玩家需要运用一定的策略和规划能力。如何有效地安排空间以及何时何地合并数字成为取胜的关键。
  • 简洁美观的设计:原版《2048》采用了极简主义的设计风格,界面干净整洁,颜色鲜明且对比度高,易于辨认不同数值的方块。
  • 多样的变种:随着时间的发展,《2048》衍生出了许多版本和变种,包括带有特殊主题、额外功能(如撤销步数)、不同形状的游戏区域等。这些变种增加了游戏的多样性,并吸引了更广泛的玩家群体。
  • 跨平台兼容:由于《2048》最初是一个基于浏览器的游戏,因此它几乎可以在任何支持HTML5的平台上运行,包括桌面电脑、平板电脑和智能手机。
  • 社交分享:许多《2048》的应用程序允许玩家将自己的分数分享给朋友,这增加了竞争的乐趣,并激发了玩家追求更高分的动力。

4.2 实践环境规划

云服务器选择内网IP地址hostname公共镜像操作系统版本Docker版本
华为云 Flexus云服务器X实例192.168.0.130flexusx-e2c8Rocky LinuxRocky Linux 927.1.1

4.3 本地环境检查

检查当前的操作系统版本

[root@flexusx-e2c8 ~]# cat /etc/os-release
NAME="Rocky Linux"
VERSION="9.0 (Blue Onyx)"
ID="rocky"
ID_LIKE="rhel centos fedora"
VERSION_ID="9.0"
PLATFORM_ID="platform:el9"
PRETTY_NAME="Rocky Linux 9.0 (Blue Onyx)"
ANSI_COLOR="0;32"
LOGO="fedora-logo-icon"
CPE_NAME="cpe:/o:rocky:rocky:9::baseos"
HOME_URL="https://rockylinux.org/"
BUG_REPORT_URL="https://bugs.rockylinux.org/"
ROCKY_SUPPORT_PRODUCT="Rocky-Linux-9"
ROCKY_SUPPORT_PRODUCT_VERSION="9.0"
REDHAT_SUPPORT_PRODUCT="Rocky Linux"
REDHAT_SUPPORT_PRODUCT_VERSION="9.0"

检查Docker版本,需要提前安装Docker环境。

[root@flexusx-e2c8 ~]# docker -v
Docker version 27.1.1, build 6312585

4.4 创建httpd容器

  • 下载httpd镜像
[root@flexusx-e2c8 ~]# docker pull httpd:2.4
2.4: Pulling from library/httpd
a2318d6c47ec: Already exists
62dd86107c65: Pull complete
4f4fb700ef54: Pull complete
22871f73faed: Pull complete
ca061a523d1f: Pull complete
509789394c2a: Pull complete
Digest: sha256:ae1124b8d23ee3fc35d49da35d5c748a2fce318d1f55ce59ccab889d612f8be8
Status: Downloaded newer image for httpd:2.4
docker.io/library/httpd:2.4
  • 如果想要使用命令部署httpd容器,可参考以下一下示例:
docker run -dit --name my-web -p 8063:80 -v "$PWD":/usr/local/apache2/htdocs/ httpd:2.4
  • 编辑docker-compose.yaml文件,内容如下:
version: '3.9'
services:httpd:image: 'httpd:2.4'volumes:- '/docker/httpd/html:/usr/local/apache2/htdocs/'ports:- '8063:80'container_name: my-webrestart: always
  • 创建httpd容器
docker compose up -d

在这里插入图片描述

4.5 查看httpd容器

我们可以看到httpd容器已经正常运行,宿主机映射的访问端口为8063。

[root@flexusx-e2c8 httpd]# docker compose ps
WARN[0000] /docker/httpd/docker-compose.yaml: the attribute `version` is obsolete, it will be ignored, please remove it to avoid potential confusion
NAME      IMAGE       COMMAND              SERVICE   CREATED          STATUS          PORTS
my-web    httpd:2.4   "httpd-foreground"   httpd     59 seconds ago   Up 58 seconds   0.0.0.0:8063->80/tcp, :::8063->80/tcp

查看监听端口,httpd服务端口为8063。


[root@flexusx-e2c8 httpd]#  netstat -tunlp |grep 8063
tcp        0      0 0.0.0.0:8063            0.0.0.0:*               LISTEN      3555661/docker-prox
tcp6       0      0 :::8063                 :::*                    LISTEN      3555667/docker-prox

4.6 拉取2048项目

进入宿主机的挂载目录,拉取2048小游戏项目。

git clone https://github.com/gabrielecirulli/2048.git

在这里插入图片描述

查看拉取的2048小游戏项目

[root@flexusx-e2c8 html]# ls 2048/
CONTRIBUTING.md  favicon.ico  index.html  js  LICENSE.txt  meta  Rakefile  README.md  style

4.7 重启容器

我们需要重启httpd容器,可参考以下命令:

 docker restart my-web

五、访问2048网页小游戏

5.1 安全设置

在安全组规则管理界面,入方向规则上放行8063端口。

在这里插入图片描述

本次安装的Rocky Linux操作系统默认没有关闭防火墙,可以参考以下命令,关闭防火墙。如果不想关闭防火墙,则需要放行相关服务端口。

 systemctl stop firewalld && systemctl disable firewalld

关闭selinux服务

setenforce 0
sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config

5.2 访问2048网页小游戏

在浏览器中输入以下地址:https://公网IP地址:8063/2048(将"公网IP地址"替换为你的服务器的弹性公网IP地址),我们可以访问到2048小游戏。

在这里插入图片描述

六、总结与体会

在本次利用华为云 Flexus 云服务器 X 实例部署 2048 小游戏的实践中,我们收获颇丰。华为云 Flexus 云服务器 X 实例以其强大的柔性算力,为部署过程提供了稳定而高效的支持。它专为中小企业和开发者打造,充分考虑了用户的实际需求。其便捷的操作和卓越的性能,让整个部署过程变得轻松顺畅。华为云的优秀表现,无疑为我们的项目成功提供了坚实保障。

🎯华为云 Flexus 云服务器 X 实例亮点满满。它仿佛拥有着浩瀚无垠的拓展领域,性能恰似勇猛的雄狮般刚劲有力,稳定性如同磐石般坚固且极为可靠,资源调度灵活得犹如灵动的舞蹈,还有多重安全防护紧紧相随,全方位满足各类动态需求,为数据安全构建起坚实的堡垒。🛡️
如今,华为云 828 活动盛大开启,其便捷的一键式管理功能,就像神奇的魔法棒一般,极大地精简了运维工作的流程。让我们携手共进,一同迈向充满无尽可能的数字化未来征程吧!🚀

在这里插入图片描述

相关文章:

  • 基于单片机的小车行走加温湿度检测系统
  • 尚硅谷----智尚代驾项目----Day7(续)------预估乘客订单数据之Drools
  • 第五届计算机科学与管理科技国际学术会议(ICCSMT 2024)
  • ROS与无人驾驶学习笔记(一)——ROS基本操作
  • KRTS虚拟网络适配器和 Windows 连接
  • 相机、镜头参数详解以及相关计算公式
  • 2024 Python3.10 系统入门+进阶(十六):正则表达式
  • Eureka原理实践:构建高可用、可扩展的微服务架构
  • 《C++无锁编程:解锁高性能并发的新境界》
  • day01——登录功能
  • npm切换到淘宝镜像
  • Redis——缓存
  • 15年408-数据结构
  • Stable Diffusion绘画 | SDXL模型的优缺点及模型推荐
  • 【linux进程】进程状态僵尸进程孤儿进程
  • [分享]iOS开发 - 实现UITableView Plain SectionView和table不停留一起滑动
  • CSS实用技巧
  • docker-consul
  • idea + plantuml 画流程图
  • input实现文字超出省略号功能
  • Java IO学习笔记一
  • k8s 面向应用开发者的基础命令
  • Redis在Web项目中的应用与实践
  • Vue 动态创建 component
  • 什么软件可以提取视频中的音频制作成手机铃声
  • 使用SAX解析XML
  • 腾讯优测优分享 | Android碎片化问题小结——关于闪光灯的那些事儿
  • 用element的upload组件实现多图片上传和压缩
  • 云大使推广中的常见热门问题
  • nb
  • LIGO、Virgo第三轮探测告捷,同时探测到一对黑洞合并产生的引力波事件 ...
  • Nginx实现动静分离
  • 函数计算新功能-----支持C#函数
  • 回归生活:清理微信公众号
  • 整理一些计算机基础知识!
  • ​直流电和交流电有什么区别为什么这个时候又要变成直流电呢?交流转换到直流(整流器)直流变交流(逆变器)​
  • ​字​节​一​面​
  • ![CDATA[ ]] 是什么东东
  • (独孤九剑)--文件系统
  • (十二)springboot实战——SSE服务推送事件案例实现
  • (已解决)vscode如何选择python解释器
  • (译)计算距离、方位和更多经纬度之间的点
  • .NET CORE 2.0发布后没有 VIEWS视图页面文件
  • .Net Framework 4.x 程序到底运行在哪个 CLR 版本之上
  • .net/c# memcached 获取所有缓存键(keys)
  • .Net+SQL Server企业应用性能优化笔记4——精确查找瓶颈
  • .Net8 Blazor 尝鲜
  • .net反编译的九款神器
  • .net后端程序发布到nignx上,通过nginx访问
  • .NET开发者必备的11款免费工具
  • .NET开源的一个小而快并且功能强大的 Windows 动态桌面软件 - DreamScene2
  • .ui文件相关
  • /etc/apt/sources.list 和 /etc/apt/sources.list.d
  • /etc/fstab和/etc/mtab的区别
  • @EventListener注解使用说明