828华为云征文|华为云Flexus云服务器X实例之openEuler系统下部署经典扫雷小游戏

news2024/9/25 19:25:06

828华为云征文|华为云Flexus云服务器X实例之openEuler系统下部署经典扫雷小游戏

  • 前言
  • 一、Flexus云服务器X实例介绍
    • 1.1 Flexus云服务器X实例简介
    • 1.2 Flexus云服务器X实例特点
    • 1.3 Flexus云服务器X实例使用场景
  • 二、本次实践介绍
    • 2.1 本次实践简介
    • 2.2 扫雷小游戏简介
    • 2.3 本次环境规划
  • 三、远程连接华为云Flexus云服务器X实例
    • 3.1 购买Flexus云服务器X实例
    • 3.2 查看Flexus云服务器X实例状态
    • 3.3 使用Xshell远程连接
    • 3.4 检查操作系统版本
  • 四、部署Node.js环境
    • 4.1 下载Node.js安装包
    • 4.2 解压Node.js安装包
    • 4.3 链接二进制文件
    • 4.4 配置环境变量
    • 4.5 查看node版本
  • 五、安装yarn工具(可选)
    • 5.1 设置npm镜像源
    • 5.2 安装yarn
    • 5.3 检查yarn版本
    • 5.4 设置yarn镜像源
  • 六、部署扫雷小游戏
    • 6.1 拉取项目源码
    • 6.2 查看项目内容
    • 6.3 进入项目目录
    • 6.4 安装依赖项
    • 6.5 启动服务
  • 七、访问前准备工作
    • 7.1 设置防火墙与selinux
    • 7.2 Flexus云服务器X实例安全组配置
  • 八、访问扫雷小游戏
    • 8.1 访问小游戏网页
    • 8.2 试玩扫雷小游戏
  • 九、使用体验与总结

前言


在当今这个数字化转型的时代,华为云以其卓越的技术实力和全面的服务体系成为了众多企业和开发者信赖的云计算平台。华为云Flexus云服务器X实例作为专为中小企业及个人开发者量身定制的新一代计算资源,不仅提供了灵活可扩展的算力支持,还极大地简化了应用部署流程。通过采用基于openEuler操作系统的环境,用户能够体验到更加安全稳定的服务保障。本文将带领读者探索如何利用华为云Flexus云服务器X实例,在openEuler系统下轻松部署一个经典的网页版扫雷小游戏项目,展示华为云技术的无限魅力与实用性。


一、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. 游戏服务器:适用于搭建游戏后台服务器,强大的计算能力可以轻松应对大量玩家同时在线的情况,同时支持平滑扩容,快速应对玩家数量增长的需求,以及提供出色的网络加速能力以提升用户体验。

二、本次实践介绍

2.1 本次实践简介

1.本次实践为个人测试学习环境,旨在快速部署应用,生产环境请谨慎;
2.本次实践环境为华为云Flexus云服务器X实例,使用的操作系统为openEuler 22.03 LTS;
3.本次实践在Node.js环境下部署经典扫雷小游戏。

2.2 扫雷小游戏简介

  • 扫雷小游戏简介

扫雷是一款经典的单人益智游戏。游戏的目标是根据已经被打开的空白方块上显示的数字,找出所有的地雷,并避免触雷。玩家需要利用数字的提示来推断哪些方块是安全的,哪些方块是有地雷的。如果玩家猜错并触雷了,游戏就会结束。

2.3 本次环境规划

服务器类别公共镜像选择内网IP地址node版本操作系统版本
华为云Flexus云服务器X实例openEuler192.168.0.169v16.17.0openEuler 22.03 LTS

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

3.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实例的各项设置,确保无误后点击“立即购买”,完成付款流程即可成功购买。

在这里插入图片描述

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

进入华为云Flexus云服务的控制台,选择Flexus云服务器X实例,可以看到已经正在运行的Flexus云服务器X实例。

在这里插入图片描述

3.3 使用Xshell远程连接

  • 复制Flexus云服务器X实例的弹性公网IP地址

在这里插入图片描述

  • 主要填写Flexus云服务器X实例的弹性公网IP地址,输入其登录用户和密码,连接即可。

在这里插入图片描述

在这里插入图片描述

3.4 检查操作系统版本

检查Flexus云服务器X实例的操作系统版本,本次实践选择的版本为openEuler 22.03 LTS

[root@flexusx-51a1 ~]# cat /etc/os-release
NAME="openEuler"
VERSION="22.03 LTS"
ID="openEuler"
VERSION_ID="22.03"
PRETTY_NAME="openEuler 22.03 LTS"
ANSI_COLOR="0;31"

检查当前操作系统的内核版本,当前内核版本为5.10.0-60.109.0.136.oe2203.x86_64

[root@flexusx-51a1 ~]# uname -r
5.10.0-60.109.0.136.oe2203.x86_64

四、部署Node.js环境

4.1 下载Node.js安装包

在/root目录下,下载Node.js安装包,下载版本为v16.17.0

wget https://mirrors.aliyun.com/nodejs-release/v16.17.0/node-v16.17.0-linux-x64.tar.xz

在这里插入图片描述

4.2 解压Node.js安装包

在/root目录下,解压Node.js安装包

tar -xvJf node-v16.17.0-linux-x64.tar.xz

在这里插入图片描述

4.3 链接二进制文件

将 /root/node-v16.17.0-linux-x64/bin/下的二进制文件链接到/usr/local/bin下

ln -s  /root/node-v16.17.0-linux-x64/bin/node /usr/local/bin/node
ln -s /root/node-v16.17.0-linux-x64/bin/npm /usr/local/bin/npm

4.4 配置环境变量

  • 在/etc/profile文件中,新增以下两行:
export NODE_HOME=/root/node-v16.17.0-linux-x64/bin/
export PATH=$PATH:$NODE_HOME:/usr/local/bin/
  • 使变量生效
source /etc/profile

4.5 查看node版本

执行以下命令,查看node和npm版本。

[root@flexusx-51a1 ~]# node -v
v16.17.0
[root@flexusx-51a1 ~]# npm -v
8.15.0

五、安装yarn工具(可选)

5.1 设置npm镜像源

为了加速下载速度,可以将npm设置为国内淘宝最新的镜像源。

npm config set registry https://registry.npmmirror.com

执行以下命令,查看npm镜像源。

[root@flexusx-51a1 ~]# npm get registry
https://registry.npmmirror.com/

5.2 安装yarn

执行以下命令,安装yarn工具。

npm install -g yarn

在这里插入图片描述

5.3 检查yarn版本

检查yarn版本,当前安装版本为1.22.22。

[root@flexusx-51a1 ~]# yarn -v
1.22.22

5.4 设置yarn镜像源

  • yarn设置国内淘宝镜像源
 yarn  config set registry https://registry.npmmirror.com
  • 查看yarn镜像源
yarn config get registry

在这里插入图片描述

六、部署扫雷小游戏

6.1 拉取项目源码

执行以下命令,我们从Github拉取minesweeper-react项目源码。

git clone https://github.com/laoqiu233/minesweeper-react.git

在这里插入图片描述

6.2 查看项目内容

执行以下命令,查看minesweeper-react项目内容。

[root@flexusx-51a1 ~]# tree -L 2 ./minesweeper-react/
./minesweeper-react/
├── imgs
│   ├── gameplay.png
│   └── title_screenshot.png
├── package.json
├── package-lock.json
├── public
│   ├── favicon.ico
│   └── index.html
├── README.md
├── src
│   ├── AboutPage.tsx
│   ├── app
│   ├── app.module.css
│   ├── App.tsx
│   ├── features
│   ├── fonts
│   ├── index.css
│   ├── index.tsx
│   ├── react-app-env.d.ts
│   ├── reportWebVitals.ts
│   ├── sprites
│   └── Window.tsx
└── tsconfig.json

7 directories, 16 files

6.3 进入项目目录

部署项目之前,我们先进入该项目目录。

[root@flexusx-51a1 ~]# cd minesweeper-react/
[root@flexusx-51a1 minesweeper-react]# ls
imgs  node_modules  package.json  package-lock.json  public  README.md  src  tsconfig.json  yarn.lock

6.4 安装依赖项

执行以下命令,安装项目相关依赖项。

npm install 

在这里插入图片描述

6.5 启动服务

  • 可以执行以下命令,前台启动minesweeper-react服务,该项目默认监听服务端口为3000。
npm start 

在这里插入图片描述

另外开启一个终端,检查该服务的默认监听端口3000。

[root@flexusx-51a1 ~]# netstat -tunlp |grep 3000
tcp        0      0 0.0.0.0:3000            0.0.0.0:*               LISTEN      31043/node
  • 我们也可以后台启动minesweeper-react服务。
[root@flexusx-51a1 minesweeper-react]#  npm start > output.log 2>&1 &
[1] 31293
  • 查看后台运行服务
[root@flexusx-51a1 minesweeper-react]# jobs
[1]+  Running                 npm start > output.log 2>&1 &

在这里插入图片描述

七、访问前准备工作

7.1 设置防火墙与selinux

  • 执行以下命令,关闭防火墙。
 systemctl stop firewalld && systemctl disable firewalld
  • 关闭selinux
setenforce 0
sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config

7.2 Flexus云服务器X实例安全组配置

进入Flexus云服务器X实例控制台,进行安全组规则配置。在安全组入方向规则上,放行3000端口。

在这里插入图片描述

八、访问扫雷小游戏

8.1 访问小游戏网页

浏览器访问地址:http://弹性公网IP地址:3000,将IP替换为自己服务器IP地址。浏览器打开后,进入小游戏初始页。

在这里插入图片描述

8.2 试玩扫雷小游戏

打开扫雷小游戏的图标,即可开始试玩经典扫雷小游戏。

在这里插入图片描述

在这里插入图片描述

九、使用体验与总结

通过本次在华为云Flexus云服务器X实例上部署网页版经典扫雷小游戏的实践,我们深刻感受到了华为云平台所提供的强大支持与便捷性。整个过程不仅展示了openEuler操作系统的稳定性及高效性能,同时也证明了即使对于小型项目而言,华为云依然能够提供灵活且强大的算力资源来满足开发需求。此外,华为云提供的详尽文档和社区支持极大降低了学习曲线,让开发者可以更加专注于创新本身。这次经历再次证实了华为云作为领先云计算服务提供商,在促进技术创新与发展方面所扮演的重要角色。


把握华为云 828 B2B 企业节的契机,即刻感受 Flexus X 实例带来的惊喜优惠,品味前沿技术与创新理念的精彩融合。不管是高性能计算,亦或是智能化监控,每一个细节无不彰显着华为云对卓越品质服务的不懈坚守。选择华为云,绝非仅仅是技术上的提升,而是踏上数字化转型征程的关键之举。让我们并肩携手,共同开创云端新纪元!


在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2164563.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

KPaaS平台用户权限管理系统方案之表单设计统一单据制作与授权

不同的业务系统各自独立运行,需要分别进行授权操作,这不仅繁琐耗时,还容易出现错误和不一致的情况,导致企业在多系统用户权限角色管理中常常陷入困境,那么,有没有一种高效、便捷的解决方案呢? …

关于预处理详解,#define,宏的使用以及命名 函数与宏的区别详细对比

预定义符号 C语⾔设置了⼀些预定义符号,可以直接使⽤,预定义符号也是在预处理期间处理的 __FILE__ //进⾏编译的源⽂件 __LINE__ //⽂件当前的⾏号 __DATE__ //⽂件被编译的⽇期 __TIME__ //⽂件被编译的时间 __STDC__ //如果编译器遵循ANSI C&#xff…

汉诺塔的理解

数学思想——归纳推理(不是反证法) 为了方便,我把塔叫做牌,最左边的是从大到小(底部开始)放置的的牌堆。 数字的那一列是递归调用,右边长度不一的箭头是,数字阶段向下调用方法的情况…

稀土抗菌剂在涂料中应用的神奇表现

稀土抗菌剂的抗菌抑菌机理有四个层面:一是稀土化合物与细菌表面静电结合,造成直接的杀灭二是基于稀土的光催化半导体特性,通过光生氧自由基ROS机理杀灭细菌;三是稀土化合物破坏细胞膜通透性,造成破损导致细胞质流出杀灭细菌;四是稀土离子跨膜…

C标准库<string.h>-str、strn开头的函数

char *strcat(char *dest, const char *src) 函数功能 strcat 函数用于将一个字符串追加到另一个字符串的尾部。 参数解释 dest:指向目标字符串的指针,这个字符串的尾部将被追加 src 字符串的内容。src:指向源字符串的指针,其…

最精简的VScode Verilog RTL开发环境搭建教程

【2024-9月更新】最精简的VScode Verilog RTL开发环境搭建教程 文章目录 【2024-9月更新】最精简的VScode Verilog RTL开发环境搭建教程一、官网下载VScode二、登录账号同步三、安装配置拓展插件1.Verilog-HDL/systemVerilog拓展2.安装Universal Ctags● Windows系统安装univer…

(附源码) Springboot 飞速物流管理平台78584

摘要 受疫情的影响,很多城市处于静默的状态,导致店铺很多店铺都处于关闭的状态,给商家带来了极大的损失,很多商家为了减少损失都通过线上进行销售,比如直播、微商等;同时对于消费者来说,网上购买…

【Redis】分布式锁之 Redission

一、基于setnx实现的分布式锁问题 重入问题:获得锁的线程应能再次进入相同锁的代码块,可重入锁能防止死锁。例如在HashTable中,方法用synchronized修饰,若在一个方法内调用另一个方法,不可重入会导致死锁。而synchroni…

mysql练习题使用的表

dept(部门表):部门编号,部门名字,部门地点 salgrode工资等级表:等级,最高工资,最低工资 emp表:员工编号,员工名字,工作,领导编号MGR,入职时间,工…

Spring Boot 整合MyBatis-Plus 实现多层次树结构的异步加载功能

文章目录 1,前言2,什么是多层次树结构?3,异步加载的意义4,技术选型与实现思路5,具体案例5.1,项目结构5.2,项目配置(pom.xml)5.3,配置文件&#xf…

c++难点核心笔记(二)

系列文章目录 c难点&核心笔记(一) 继续接着上一章记录的重点内容包括函数,类和对象,指针和引用,C对象模型和this指针等内容,继续给大家分享!! 文章目录 系列文章目录友元全局函数做友元类做友元成员函…

国庆节怎么利用PHP发送文字短信

国庆节作为中国重要的法定节假日之一,不仅是全民欢庆的时刻,也是商家们进行促销活动的黄金时期。发送营销短信成为许多商家吸引顾客、提高销量的重要手段。 支持免费对接试用乐讯通PaaS平台 找好用的短信平台,选择乐讯通,短信群发|短信平台|群发短信软件…

分布式事务(1)

1.分布式事务 首先我们看看项目中的下单业务整体流程: 由于订单、购物车、商品分别在三个不同的微服务,而每个微服务都有自己独立的数据库,因此下单过程中就会跨多个数据库完成业务。而每个微服务都会执行自己的本地事务: 交易服…

Python办公自动化教程(002):PDF的拆分与合并

1、PyPDF2 介绍 介绍: PyPDF2是一个用于处理PDF文件的Python库,它提供了丰富的功能来读取、编辑、合并、拆分PDF文档,以及提取文本、图像和其他内容。 功能: 读取PDF:PyPDF2可以轻松地打开和读取PDF文件,获…

pytorch 神经网络模型 2D+3D 可视化,这个工具库够猛!

生信碱移 torch模块可视化 小编近期冲浪的时候发现一个torch模型架构可视化的神级python库VisualTorch,给各位铁子分享一下doge。 VisualTorch旨在帮助可视化基于Torch的神经网络架构,似乎是今年才上传到github上。它目前支持为PyTorch的Sequential和Cu…

jQuery——jQuery的2把利器

1、jQuery 核心函数 ① 简称:jQuery 函数,即为 $ 或者 jQuery ② jQuery 库向外直接暴露的是 $ 或者 jQuery ③ 引入 jQuery 库后,直接使用 $ 即可 当函数用:$(xxx) 当对象用:$.xxx&#x…

华为官宣,不支持安卓应用的纯血鸿蒙终于来了

华为前不久与苹果新品发布会撞车的全球首款量产三折叠屏幕手机 Mate XT,本以为已是其下半年狠活儿担当。 但直到看完昨天下午的华为秋季全场景发布会才发现,好家伙,此前那都叫小打小闹,原来大招全搁在后头呢! 这场近两…

蒙语学习快速方法,速记蒙语单词怎么学习更高效!

要高效学习蒙古语和速记单词,首先要掌握基础知识,如字母表和发音规则。接着,专注于学习日常用语和基础词汇,并运用记忆技巧如联想、发音和构词法来帮助记忆。利用专门的学习软件,如“蒙语学习通”,可以提供…

进程间通信 (一)【管道通信(上)】

目录 1. 概况2. 管道通信的原理2.1 初步理解2.2 深入理解 1. 概况 是什么:两个及以上的进程实现数据层面的交互,称为进程间的通信。 因为进程独立性的存在,所以一个进程无法直接访问另一个进程的数据,即便是父子进程,子…

数字IC设计\FPGA 职位经典笔试面试整理--基础篇2

1. 卡诺图 逻辑函数表达式可以使用其最小项相加来表示,用所有的最小项可以转换为卡诺图进行逻辑项化简 卡诺图讲解资料1 卡诺图讲解资料2 卡诺图讲解资料3 最小项的定义 一个函数的某个乘积项包含了函数的全部变量,其中每个变量都以原变量或反变量的形…