用鲲鹏弹性云服务器完成部署Node.js【玩转华为云】

举报
龙哥手记 发表于 2022/10/11 23:04:43 2022/10/11
【摘要】 基于华为云鲲鹏弹性云服务器,在CentOS系统上安装、部署、测试Node.js项目

本文主要内容有

  • 一 虚拟私有云VPC能干啥
  • 二 先把准备工作做好
  • 三 用NVM管理器安Node.js多版本
  • 四 部署并测试下项目


一 🎨 虚拟私有云VPC能干啥

1.1 搞清定义

虚拟私有云,目的是给云服务器、云容器、云数据库等云上资源构建隔离、私密的虚拟网络环境。VPC丰富的功能帮助您灵活管理云上网络,包括创建子网、设置安全组和网络ACL、管理路由表、申请弹性公网IP和带宽等很多。您还可以通过云专线、VPN等服务把VPC与传统的数据中心互联互通,这样能灵活整合资源,来构建混合云网络;

或者说它用了网络虚拟化技术,通过链路冗余,分布式网关集群,多AZ部署等多种技术,保障网络的安全、稳定以及高可用;

8.png

1.2 虚拟私有云结构是啥

组成部分

每个虚拟私有云VPC由一个私网网段、路由表和至少一个子网组成

  • 私网网段:用户在创建虚拟私有云VPC时,需指定虚拟私有云VPC使用的私网网段。如果当前虚拟私有云VPC支持的网段有10.0.0.0/8~24、172.16.0.0/12~24和192.168.0.0/16~24;
  • 子网:云资源(例如云服务器、云数据库等)必须部署在子网内,虚拟私有云VPC创建完成后,您需要为虚拟私有云VPC划分一个或多个子网,子网网段必须在私网网段内。更多信息请参考子网;
  • 路由表:在创建虚拟私有云VPC时,系统会自动生成默认路由表,默认路由表的作用是保证了同一个虚拟私有云VPC下的所有子网互通。当默认路由表中的路由策略无法满足应用(比如未绑定弹性公网IP的云服务器需要访问外网)时,您可以通过创建自定义路由表来解决。更多信息请参考VPC内自定义路由示例VPC外自定义路由示例;

安全

安全组与网络ACL是用来保障虚拟私有云VPC内部署的云资源的安全;安全组可以想象类似于虚拟防火墙,为同一个VPC内具有相同安全保护需求并相互信任的云资源提供访问策略,更多信息请看安全组简介;您可以为具有相同网络流量控制的子网关联同一个网络ACL,通过设置出方向和入方向规则,对进出子网的流量进行精确控制,更多信息请看网络ACL简介;

VPC连接

华为云提供了多种VPC连接方案,以满足用户不同场景下的诉求。具体应用场景及连接方案请见应用场景

  • 通过VPC对等连接功能,实现同一区域内不同VPC下的私网IP互通
  • 通过EIP或NAT网关,使得VPC内的云服务器可以与公网Internet互通
  • 通过虚拟专用网络VPN、云连接、云专线及企业交换机将VPC和您的数据中心连通
  • ......

1.3 有啥优势呢

灵活配置

可自定义虚拟私有网络,能按需划分子网,并配置IP地址段、DHCP、路由表等服务,也支持跨可用区部署弹性云服务器;

安全可靠

VPC之间通过隧道技术进行100%逻辑隔离,并且不同VPC之间默认不能通信,网络ACL对子网进行防护,安全组对弹性云服务器进行防护,多重防护您的网络更好

互联互通

一般情况下,VPC与公网是不能通信访问的,我们提供了弹性公网IP、弹性负载均衡、NAT网关、虚拟专用网络、云专线等多种方式连接公网

默认情况下,两个VPC之间也是不能通信访问的,我们提供对等连接的方式,使用私有IP地址在两个VPC之间进行通信

对于云上和云下网络二层互通问题,企业交换机支持二层连接网关功能,允许您在不改变子网、IP规划的前提下将数据中心或私有云主机业务部分迁移上云。

提供多种连接选择,满足企业云上多业务需求,让您轻松部署企业应用,降低企业IT运维成本;

能高速访问

用全动态BGP协议接入多个运营商,并可支持20多条线路。可以根据设定的寻路协议实时自动故障切换,来保证网络稳定,网络时延低,并且云上业务访问更流畅

优势对比下

虚拟私有云相比传统IDC的优势如下

1.4 咋访问虚拟私有云

通过管理控制台、基于HTTPS请求的API(Application Programming Interface)两种方式访问虚拟私有云。
  • 管理控制台方式

    管理控制台是网页形式的,您可以使用直观的界面进行相应的操作。登录管理控制台,从主页选择“虚拟私有云”。

  • API方式

    如果用户需要将云平台上的虚拟私有云集成到第三方系统,用于二次开发,请使用API方式访问虚拟私有云;

二 🥩 先把准备工作做好

2.1 登录弹性云服务器

①双击桌面的“Xfce终端”打开Terminal,输入以下命令登云服务器,请用弹性云服务器ECS的公网IP来换命令中的【EIP】;

2.2 那什么是弹性云服务器?

是由CPU、内存、镜像、云硬盘组成的一种可随时获取、弹性可扩展的计算服务器,同时它结合虚拟私有云、虚拟防火墙、数据多副本保存等能力,为您打造一个高效、可靠、安全的计算环境,确保您的服务持久稳定运行,一旦创建成功后,您就可以像使用自己的本地PC或物理服务器一样,在云上使用弹性云服务器;

登录弹性云服务器方式有哪些?

“密钥对”登录:方式创建的弹性云服务器安全性更高,建议选择“密钥对”方式。如果您习惯使用“密码”方式,请增强密码的复杂度,保证密码符合要求,防止恶意攻击。 “密码”登录:指使用设置初始密码方式作为弹性云服务器的鉴权方式,此时,您可以通过用户名密码方式登录弹性云服务器,Linux操作系统时为root用户的初始密码,Windows操作系统时为Administrator用户的初始密码;

LANG=en_us.UTF-8 ssh root@EIP

提醒下云服务器的弹性公网IP地址,可通过鼠标移动到云桌面浏览器页面中左侧菜单栏,点“服务列表”->“计算”->“弹性云服务器ECS”进入服务器列表,进行查看并复制下
②接受秘钥输入“yes”,回车;
③输入密码:使用预置环境信息中云服务器名称为ecs-01的用户密码
成功登录云服务器之后如下


三 😍 用NVM管理器安Node.js多版本

3.1 下载Node.js安装包

下载Node.js安装包,在Terminal中输入执行以下命令,就能下

什么是Node.js?

Node对一些特殊用例进行优化,提供替代的API,使得V8在非浏览器环境下运行得更好。V8引擎执行Javascript的速度非常快,性能非常好。 Node是一个基于Chrome JavaScript运行时建立的平台, 用于方便地搭建响应速度快、易于扩展的网络应用,它用事件驱动,非阻塞I/O模型而得以轻量与高效,这样非常适合在分布式设备上运行数据密集型的实时应用;

wget https://sandbox-experiment-resource-north-4.obs.cn-north-4.myhuaweicloud.com/kunpeng-nodejs/node-v10.16.0-linux-arm64.tar.xz

如下所示,进度显示为100%,它表示完成了下载

3.2 解压文件

在Terminal中输入执行以下命令,把下载的安装包进行解压出来

tar xvf node-v10.16.0-linux-arm64.tar.xz

3.3 进行解压

出现如下图信息即表示解压完成

3.4 建立软连接

为node建立软连接,在Terminal中输入执行以下命令

ln -s /root/node-v10.16.0-linux-arm64/bin/node /usr/local/bin/node

为npm建立软连接,在Terminal中输入执行以下命令

ln -s /root/node-v10.16.0-linux-arm64/bin/npm /usr/local/bin/npm

3.5 查看软件版本

查看node版本,在Terminal中输入执行以下命令

node -v

并查看npm版本,在Terminal中输入执行以下命令

npm -v

出现以下信息即表示命令执行完成,如下

至此,Node.js环境已安装完毕,软件默认安装在/root/node-v10.16.0-linux-arm64/目录

3.6 下载NVM版本管理器

在Terminal中输入执行以下命令,用git把源码克隆到本地的~/.nvm目录下,并检查最新版本

git clone https://codehub.devcloud.cn-north-4.huaweicloud.com/Demo01087/nvm.git ~/.nvm && cd ~/.nvm

出现以下信息表明下载的git软件无误,如下

3.7 激活NVM版本管理器

在Terminal中输入执行以下命令,激活NVM,并将其追加至profile文件下

echo ". ~/.nvm/nvm.sh" >> /etc/profile

3.8 配置NVM版本管理器

在nvm/nvm.sh配置中,执行如下

vim nvm.sh

文件信息如下

3.8 添加描述规则

在nvm.sh文件中搜索下面描述文件
拷贝如下命令,在Terminal中任意位置单击鼠标右键选择“Paste”,按键盘回车(ENTER)执行搜索就行

/nvm_get_arch

搜索内容如下

3.9 输入新的命令规则

在搜索到的位置,点击键盘“i”进入输入模式,将光标移动至i*86行的最结尾,回车,输入4个空格。拷贝如下代码,单击鼠标右键选择“Paste”粘贴

aarch64) NVM_ARCH="arm64" ;;

输入完成如下图所示:

点击键盘“ESC”退出输入模式,输入以下命令后回车保存

:wq

3.10 刷新环境变量

执行以下命令,令nvm环境重新生效

source /etc/profile

3.11 安装Node.js版本

拷贝执行以下命令,安装多个Node.js版本

nvm install v12.3.0

出现以下信息表示安装成功,版本为v12.3.0,如下

3.12 新建项目

拷贝执行以下命令,新建项目文件example.js

cd ~ && touch example.js

四 💡 部署并测试下项目

4.1 先打开项目文件

拷贝执行以下命令,用vim编辑器打开项目文件example.js

vim example.js

打开项目文件是一个空文件如下

4.2 然后制作js文件Demo

点击键盘“i”键,然后进入编辑模式,把下方内容粘贴到项目文件中(该命令可以使任何用户访问的时候都可以返回一个welcome to Node.js)
拷贝粘贴以下

const http = require('http');
const hostname = '0.0.0.0';
const port = 3000;
const server = http.createServer((req, res) => { 
    res.statusCode = 200;
    res.setHeader('Content-Type', 'text/plain');
    res.end('Welcome to Node.js\n');
}); 

server.listen(port, hostname, () => { 
    console.log(`Server running at http://${hostname}:${port}/`);
});

在打开的example.js项目文件界面单击鼠标右键,选择“粘贴”,粘贴成功界面如下【粘贴之前请务必键入“i”进入编辑模式,确保代码的完整性】

点击键盘“ESC”退出编辑模式,输入以下命令后回车保存
:wq

4.4 运行项目

拷贝执行以下命令,运行项目。(运行后再次回车)

node ~/example.js &

执行成功界面如下

4.5 查看项目运行状态

拷贝执行以下命令查看是否在监听项目端口,返回的结果列表中包含端口3000,表明项目正常运行

netstat -tpln

如下

4.6 更改安全组

然后切换回浏览器,进入云服务器控制台(“控制台”->“服务列表”->“计算”->“弹性云服务器ECS”),点击左侧栏最下方“安全组”,如下

安全组为实验开始时“预置实验环境”所创建的安全组(名称是系统分配的华为云实验账号名)如下

点击进入详情页,选择“入方向规则”,点击“添加规则”如下

① 优先级:1
② 策略:允许
③ 协议端口:TCP 3000
其他配置默认,然后点击“确定”,配置如下

4.7 Node.js文件Demo验证

在在实验桌面的浏览器中输入http://ECS实例公网IP地址:3000访问项目,如下

至此,Node.js安装成功

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。